मैं अपने Ubuntu फोन को ssh पर कैसे एक्सेस कर सकता हूं?


16

जब भी मैं चलाने की कोशिश करता apt-get install openssh-serverहूं मुझे निम्नलिखित त्रुटियां मिलती हैं:

root@ubuntu-phablet:/home/hablet# apt-get install openssh-server
W: Not using locking for read only lock file /var/lib/dpkg/lock
E: Unable to write to /var/cache/apt
E: The package lists or status file could not be parsed or opened.

बिल्कुल वही त्रुटि
14:19 पर user195123

मेरे लिए एक ही बात कर त्रुटि - ubuntu 11.04।
नर

1
@Malee 11.04 जीवन का अंत है, आप 11.04 के लिए यहाँ मदद प्राप्त नहीं कर सकते हैं। 12.04 या नए, या किसी समर्थित रिलीज़ पर अपग्रेड करें, और फिर हम आपको इसे ठीक करने में मदद कर सकते हैं।
थॉमस वार्ड

1
उबंटू टच में अभी तक सॉफ्टवेयर सेंटर नहीं है और अपडेट करना केवल टर्मिनल है, जो मैंने ओपनशेश को स्थापित करने की कोशिश के रूप में नहीं किया।
user195123

ठीक है क्योंकि मैं अभी तक बहुत ज्यादा नहीं बदला, क्या आपको लगता है कि मेरे भंडारण को प्रारूपित करना और ubuntu को फिर से भरना मदद करता है?
user195123

जवाबों:


27

फ़ोनों के लिए आधिकारिक अंतिम रिलीज़ उबंटू के साथ "एंड्रॉइड-गैजेट-सर्विस" टूल शिप करता है, जिसके साथ आप adb, mtp, USB टेथरिंग और ssh प्रबंधित कर सकते हैं।

अपने डिवाइस को USB से कनेक्ट करें, डेवलपर मोड को इसमें सक्षम करें:

"सिस्टम-सेटिंग्स-> इस फोन के बारे में-> डेवलपर मोड"

... और (अपने पीसी से, सुनिश्चित करें कि फोन की स्क्रीन को अनलॉक किया गया है, अन्यथा adb आपको अंदर जाने से मना कर देगा):

adb shell android-gadget-service enable ssh

अपनी सार्वजनिक कुंजी को फ़ोन पर कॉपी करें :

adb shell mkdir /home/phablet/.ssh
adb push ~/.ssh/id_rsa.pub /home/phablet/.ssh/authorized_keys
adb shell chown -R phablet.phablet /home/phablet/.ssh
adb shell chmod 700 /home/phablet/.ssh
adb shell chmod 600 /home/phablet/.ssh/authorized_keys

अब आप फोन पर अपना आईपी देख सकते हैं और कनेक्ट करने के लिए ssh का उपयोग कर सकते हैं:

adb shell ip addr show wlan0|grep inet
ssh phablet@<IP from above command>

बढ़िया काम करता है, लेकिन अगर नेटवर्क इंटरफ़ेस का नाम नहीं है, तो अंतिम कमांड कोई आईपी नहीं दिखाएगी wlan0। मेरा wlan2किसी कारण से था।
Cos64

आदेश: एडीबी धक्का ~ / .ssh / id_rsa.pub /home/phablet/.ssh/authorized_keys देता है मुझे: नहीं कर सकते स्टेट '/home/tenleftfingers/.ssh/id_rsa.pub': इस तरह के कोई फ़ाइल या निर्देशिका
TenLeftFingers

डेवलपर मोड या छवि को योग्य बनाने की कोई आवश्यकता नहीं है। एक आसान, काम करने वाले समाधान के लिए SSH Ubuntu टच देखें । हमेशा पासवर्ड-कम प्रमाणीकरण के /home/phablet/.ssh/authorized_keysसाथ आपको अपने डिवाइस पर एक फ़ाइल (पीसी की एक सार्वजनिक कुंजी के साथ जो आप उबंटू टच डिवाइस का उपयोग करने के लिए उपयोग कर रहे हैं) रखने की आवश्यकता है। रनिंग ssh -v phablet@<ip-address>(क्रिया) लॉगिन या अनुमति मुद्दों को डीबग करने में मदद करता है।
13

@orga क्या यह zeroconf (avahi-daemon) के साथ प्रसारित होता है? इस तरह मैं अपने डिवाइस को nautilus पर देख सकता हूं और sftp पर फाइल ट्रांसफर कर सकता हूं।
खुर्शीद आलम

मुझे भी परमिशन जोड़ना था: chmod ow ~ /
Mantas Vaitk Julnas

17

फोन पर डेवलपर मोड के बिना , अपने कंप्यूटर पर किसी भी विशेष टूलिंग के बिना और यूएसबी का उपयोग किए बिना , वाईफाई पर पूरी तरह से ssh एक्सेस को सक्रिय करने के लिए :

  1. यदि आपके पास पहले से ही ssh कीपेयर नहीं है, तो ssh-keygenअपने कंप्यूटर पर टाइप करें और एक को जेनरेट करने के लिए निर्देशों का पालन करें।
  2. ऐप स्टोर से फोन पर टर्मिनल ऐप इंस्टॉल करें।
  3. एक टर्मिनल खोलें और टाइप करें (यह लैंडस्केप ओरिएंटेशन में फोन के साथ आसान है):

    sudo setprop persist.service.ssh true
    mkdir -pm700 ~/.ssh
    ip addr
    nc -l 1234 > ~/.ssh/authorized_keys
    

    (अंतिम कमांड लटकाएगा; यह अपेक्षित है)

  4. टर्मिनल में अपने फोन के आईपी पते के लिए ip addrऊपर दिए गए आदेश के अनुसार देखें।

  5. अपने कंप्यूटर पर, टाइप करें ( 192.0.2.1ऊपर से अपने फ़ोन के IP पते के साथ):

    nc 192.0.2.1 1234 < ~/.ssh/id_rsa.pub
    

    सफल होने पर, आपके फ़ोन के टर्मिनल पर अंतिम कमांड अब सफल होगी।

  6. अपने कंप्यूटर पर, टाइप करें (फिर 192.0.2.1से ऊपर से अपने फोन के आईपी पते के साथ):

    ssh phablet@192.0.2.1
    
  7. यदि आपके फ़ोन का IP पता बदल जाता है, तो आपको ip addrअपने फ़ोन पर फिर से टर्मिनल ऐप में उपयोग करना होगा और अपने ssh कमांड को तदनुसार समायोजित करना होगा।


3
बहुत जानकारीपूर्ण उत्तर के रूप में यह अदब शेल और यूएसबी केबल के साथ दूर करता है। दो अंगूठे उपर!
स्टंट

वास्तव में बहुत उपयोगी जवाब। +2
zloster

@ogra (जो मुझसे बेहतर जानता है) मुझे बताता है कि sudo android-gadget-service enable sshसुपरसीडेड sudo setprop persist.service.ssh trueऔर इसका इस्तेमाल किया जाना चाहिए, लेकिन मैंने इसका परीक्षण नहीं किया है।
रॉबी बसाक

1
यह शीर्ष उत्तर होना चाहिए क्योंकि BQ कुंभ राशि 5 के साथ फ़ोन को Android विधि से नहीं खोजा जा सकता है।
कैट एम्सटर्डम

14

OpenSSH सर्वर अब (13-Sep-2013 के रूप में) उबंटू टच इंस्टॉल के साथ प्री-लोडेड है । हालाँकि, यह डिफ़ॉल्ट रूप से अक्षम भी है । आप SSH को रूट से भी नहीं चलाना चाहते हैं ।


डिवाइस के लिए USB कनेक्शन का उपयोग करके आपको निम्नलिखित टाइप करने की आवश्यकता है:

adb shell
su - phablet
sudo tee /etc/init/ssh.override < /dev/null

अक्षम करने के लिए वापस करने के लिए

echo "manual" | sudo tee /etc/init/ssh.override

अद्यतन: (09-Mar-2014)

ऊपर दिया गया उत्तर वर्तमान नहीं है।

  • मार्च 2014 की शुरुआत तक, जबकि फ़ाइल /etc/init/ssh.overrideअभी भी मौजूद है, इसकी सामग्री को बदलने से SSH (वास्तव में sshd डेमन) को स्टार्टअप पर चलने की अनुमति नहीं मिलती है ।

  • हाल ही में बनाता है ( 226 के लिए परीक्षण किया गया है , लेकिन संभवतः पहले) अब एक नए मेटा-फ्लैग persist.service.ssh का समर्थन करते हैं , ताकि SSH ( sshd डेमॉन) को स्टार्टअप पर फिर से शुरू करने की अनुमति मिल सके ।

कमांड प्रॉम्प्ट पर जाएं (डिवाइस पर)

adb shell
su - phablet

SSH प्रारंभ करें, और ध्वज सेट करें

sudo service ssh start
sudo setprop persist.service.ssh true

डिवाइस को पुनरारंभ करें

sudo reboot

SSH डेमॉन को ऑटो-स्टार्ट होना चाहिए

sudo service ssh status

SSH ऑटो-स्टार्ट को अक्षम करने के लिए, ध्वज को बदलें:

sudo setprop persist.service.ssh false

सु जाने के बाद आपको सबकुछ सूद देने की क्या ज़रूरत है?
ऑक्टोपस

1
लाइन उपयोगकर्ता को फैबलेट मेंsu - phablet बदल देती है , सुपर-उपयोगकर्ता को नहीं। यह आमतौर पर कम से कम विशेषाधिकार का उपयोग करने के लिए सबसे अच्छा अभ्यास है , ताकि हमला करने के लिए कम असुरक्षित हो।
दाविद ६

इस उत्तर को अपडेट करने की जरूरत है, @ ogra की
सेरगिएन्स

1
पहले उस पद्धति की समीक्षा और प्रयास करने की आवश्यकता होगी।
david6

0

इसे लिखने योग्य बनाने का प्रयास करें और रिबूट करें:

touch /userdata/.writable_image

संपादित करें: जब आप इसे बनाते हैं तो --pendingस्विच अपडेट्स को phablet-flash का उपयोग करें

संपादित करें: सिस्टम इमेज अब उबंटू टच को तैनात करने और अपडेट करने का अनुशंसित तरीका है


यह उत्तर अब प्रासंगिक नहीं है।
पोप

0

डिवाइस के पैनल में उबंटू एसडीके स्थापित करें और "ओपन एसएसएच कनेक्शन डिवाइस करें" पर क्लिक करें। बोनस: आप एक नया स्कोप लिखने का विरोध नहीं करेंगे ...


0

मैं सिर्फ एक तेजी से (त्वरित और गंदी) रास्ता मिल गया है (ध्यान दें: यह सुरक्षित नहीं है!) :

1) टर्मिनल ऐप इंस्टॉल करें और इसे खोलें

2) रूट पर स्विच करें

sudo su

(आप स्क्रीन लॉक पासवर्ड दर्ज करें)

2) निम्नलिखित कमांड दर्ज करें:

echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
echo "AllowUsers phablet" >> /etc/ssh/sshd_config
/usr/sbin/sshd

अब आपका ssh सर्वर चल रहा है और यह आपके स्क्रीन लॉक कोड को पासवर्ड के रूप में स्वीकार करेगा! ध्यान दें: अब ब्रूट-फोर्स करना बहुत आसान है! कृपया अपनी सेटिंग्स तुरंत बदलें (अब आप इसे एक सहज तरीके से कर सकते हैं, आप पीसी से ssh के माध्यम से कनेक्ट होने के बाद)।

चूंकि आप sshd को मैन्युअल रूप से चलाते हैं, इसलिए /etc/init/ssh.override फ़ाइल अब लागू नहीं होती है ...

तो अपने पीसी से कनेक्ट करने के लिए:

ssh phablet@x.x.x.x

जहाँ xxxx आपके फ़ोन का एक आईपी-पता है, जिसे आप टाइप करके पा सकते हैं

ifconfig

अपने फोन के टर्मिनल में।

का आनंद लें!

अद्यतन : यह हो सकता है कि अद्यतन के बाद, sshd शुरू करने में विफल हो रहा है क्योंकि यह मेजबान कुंजी नहीं खोल सकता है, तो बस उन्हें पुन: बनाएँ:

/usr/bin/ssh-keygen -A

यदि यह विफल रहता है क्योंकि / var / run / sshd गायब है, तो इसे बनाएं:

mkdir /var/run/sshd
chmod 755 /var/run/sshd
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.