2012-10-15 22 views
26

क्या पिन की आवश्यकता के बिना लिनक्स में डिवाइस को युग्मित करने का कोई तरीका है (परीक्षण उद्देश्यों के लिए, इसलिए मुझे इसे मानवीय बातचीत से बाहर करने की आवश्यकता है, मान लीजिए कि आपके पास रूट पहुंच है)?लिनक्स कमांड लाइन पिन के बिना ब्लूटूथ डिवाइस के लिए युग्मन स्वीकार करने के लिए

Bluez-सरल-एजेंट इस तरह के चूहों के रूप में कुछ सरल उपकरणों के साथ छोड़कर एक पिन की आवश्यकता होती है लगता है।

+4

[यूनिक्स और लिनक्स] (http://unix.stackexchange.com) के बजाय स्टैक ओवरफ़्लो पर की तुलना में में जाने का सुझाव दें। –

उत्तर

8

/etc/bluetooth/hcid.conf में किसी से सुरक्षा सेट करने का प्रयास

http://linux.die.net/man/5/hcid.conf

यह होगा शायद एचसीआई उपकरणों (माउस, कीबोर्ड, Spaceball, आदि) के लिए ही काम करते हैं। यदि आपके पास एक अलग तरह का डिवाइस है, तो शायद बदलने के लिए एक अलग लेकिन समान सेटिंग है।

+0

आपका मतलब एचआईडी (एचसीआई के बजाए) डिवाइस है, है ना? – flak37

23

PIN दर्ज करने वास्तव में जोड़ी के एक पुराने विधि, अब Legacy Pairing कहा जाता है। सुरक्षित सरल जोड़ना मोड ब्लूटूथ v2.1 और बाद में उपलब्ध है, जिसमें अधिकांश आधुनिक ब्लूटूथ डिवाइस शामिल हैं। एसएसपीएमओडी प्रमाणीकरण ब्लूटूथ प्रोटोकॉल स्टैक द्वारा संभाला जाता है और इस प्रकार उपयोगकर्ता इंटरैक्शन के बिना काम करता है।

# hciconfig hci0 sspmode 1 
# hciconfig hci0 sspmode 
hci0: Type: BR/EDR Bus: USB 
BD Address: AA:BB:CC:DD:EE:FF ACL MTU: 1021:8 SCO MTU: 64:1 
Simple Pairing mode: Enabled 
# hciconfig hci0 piscan 
# sdptool add SP 
# hcitool scan 
    00:11:22:33:44:55 My_Device 
# rfcomm connect /dev/rfcomm0 00:11:22:33:44:55 1 & 
Connected /dev/rfcomm0 to 00:11:22:33:44:55 on channel 1 
Press CTRL-C for hangup 

इस डिवाइस के लिए एक धारावाहिक कनेक्शन स्थापित होगा:

यहाँ कैसे एक एक डिवाइस से कनेक्ट करने के बारे में जाना हो सकता है।

+4

एचसीआई 0 पर सरल जोड़ना मोड सेट नहीं कर सकता: इनपुट/आउटपुट त्रुटि (5) – user3751385

+0

यदि आपका एडाप्टर एसएसपीएमओडी का समर्थन नहीं करता है, तो 0000 पिन के रूप में प्रयास करें। – user3751385

8

यह मेरे लिए एक आकर्षण की तरह काम किया, प्राप्त करने के लिए की-बेशक यह सुपर उपयोगकर्ता विशेषाधिकार :-)

# hcitool cc <target-bdaddr>; hcitool auth <target-bdaddr>

की आवश्यकता है <target-bdaddr> आप कमांड नीचे जारी कर सकते हैं:
$ hcitool scan

नोट: # & $ को छोड़कर वे कमांड लाइन प्रॉम्प्ट हैं।

Courtesy

7

Ubuntu 14.04 और एंड्रॉयड कोशिश के लिए:

hcitool scan #get hardware address 
sudo bluetooth-agent PIN HARDWARE-ADDRESS 

पिन संवाद Android डिवाइस पर दिखाई नहीं देता। एक ही पिन दर्ज करें।

नोट: sudo apt-get install bluez-utils आवश्यक हो सकता है।

नोट 2: यदि पिन संवाद प्रकट नहीं होता है, तो पहले एंड्रॉइड से युग्मित करने का प्रयास करें (गलत पिन के कारण विफल हो जाएगा)। फिर ऊपर वर्णित के रूप में पुनः प्रयास करें।

0
~ $ hciconfig noauth 

इस चाल करना चाहिए (मैं Bluez 5.23 उपयोग कर रहा हूँ और वहाँ कोई और अधिक सरल-egent और है नीले-utils)। हालांकि, मैं hciconfig को स्थायी बनाने के लिए एक तरीका तलाशने की कोशिश कर रहा हूं क्योंकि बिजली के बाद और फिर बिजली चालू होने के बाद प्रमाणीकरण की आवश्यकता होती है। अब तक, जब आप इसे रीबूट करते हैं तो hciconfig में परिवर्तन अभी भी वही रहता है। जब बिजली बाहर हो जाती है तो यह वापस लौट जाती है। अगर किसी को एचसीकॉनफिग स्थायी बनाने का कोई तरीका मिला है, तो मुझे बताएं!

+0

यह मेरे लिए उबंटू 16.04 पर काम करता था, "एसएसपीएमओडी 1" ने मुझे आई/ओ त्रुटि दी –

5

पालन चरणों (CentOS):

  1. bluetoothctl
  2. उपकरणों
  3. पर स्कैन
  4. जोड़ी 34: 88: 5D: 51: 5 ए: 95 (34: 88: 5D: 51: 5 ए: 88:: 5D: 51: 5 ए: 95
  5. कनेक्ट 34: 88: 5D: 51: 95 मेरे डिवाइस कोड, तुम्हारा साथ बदलें)
  6. विश्वास 34 है 5 ए: 95

अगर आप चाहते हैं और अधिक जानकारी के https://www.youtube.com/watch?v=CB1E4Ir3AV4