Ubuntu telefonuma ssh üzerinden nasıl erişebilirim?


16

Çalıştırmaya çalıştığımda apt-get install openssh-serveraşağıdaki hataları alıyorum:

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.

Tam olarak aynı hata
user195123 22:13

Benim için aynı hata aynı şeyi yapıyor - Ubuntu 11.04.
Malee

1
@Malee 11.04 ömrünün sonu, bu yüzden burada 11.04 için yardım alamıyorsunuz. 12.04 veya daha yeni bir sürüme veya desteklenen bir sürüme yükseltin ve ardından düzeltmenize yardımcı olabiliriz.
Thomas Ward

1
Ubuntu touch henüz yazılım merkezine sahip değil ve güncelleme sadece terminali, hangi openssh yüklemeye çalıştı gibi yapmadım.
user195123

Tamam, henüz çok fazla değişmediğimden, depolama alanımı biçimlendirmek ve ubuntu'yu yeniden yapılandırmak yardımcı olur mu?
user195123

Yanıtlar:


27

Telefonlar için resmi son sürüm ile Ubuntu, adb, mtp, USB tethering ve ssh'ı yönetebileceğiniz "android-gadget-service" aracını gönderir.

Cihazınızı USB ile bağlayın, şu ülkelerde Geliştirici Modunu etkinleştirin:

"Sistem Ayarları-> Bu Telefon Hakkında-> Geliştirici Modu"

... ve çalıştırın (PC'nizden, telefon ekranının kilidinin açık olduğundan emin olun, aksi takdirde adb içeri girmenize izin vermez):

adb shell android-gadget-service enable ssh

Genel anahtarınızı Telefona kopyalayın :

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

Artık IP'nizi telefonda arayabilir ve bağlanmak için ssh kullanabilirsiniz:

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

Harika çalışıyor, ancak ağ arabirimi adlandırılmazsa son komut IP göstermez wlan0. Benimki wlan2bir nedendi.
Cos64


Geliştirici Moduna veya görüntüyü yazılabilir hale getirmeye gerek yoktur. Kolay, çalışan bir çözüm için SSH Ubuntu Touch'a bakın . Her zaman olduğu gibi şifresiz kimlik doğrulamasında cihazınıza bir /home/phablet/.ssh/authorized_keysdosya (Ubuntu Touch cihazına erişmek için kullandığınız bilgisayarın ortak anahtarı ile) yerleştirmeniz gerekir. Çalıştırmak ssh -v phablet@<ip-address>(ayrıntılı), oturum açma veya izin sorunlarının ayıklanmasına yardımcı olur.
Peterino

@orga zeroconf (avahi-daemon) ile yayın yapıyor mu? Bu şekilde cihazımı nautilus üzerinde görebilir ve sftp üzerinden dosya aktarabilirim.
Khurshid Alam

Ayrıca izinler eklemek zorunda kaldım: chmod ow ~ /
Mantas Vaitkūnas

17

Ssh erişimini etkinleştirmek için tamamen wifi üzerinden , geliştirici modu olmayan telefonda, herhangi bir özel alet kullanılmaksızın bilgisayarınızda ve USB kullanmadan :

  1. Zaten bir ssh anahtar çiftiniz yoksa, ssh-keygenbilgisayarınıza yazın ve bir tane oluşturmak için talimatları izleyin.
  2. Terminal uygulamasını App Store'dan telefona yükleyin.
  3. Bir Terminal açın ve yazın (bu, telefon yatay yönde olduğunda daha kolaydır):

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

    (son komut kilitlenir; bu beklenen bir durumdur)

  4. Telefonunuzdaki IP adresini ip addryukarıdaki komutla döndürülen Terminalde bulun .

  5. Bilgisayarınıza şunu yazın ( 192.0.2.1yukarıdan telefonunuzun IP adresiyle değiştirin ):

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

    Başarılı olursa, telefonunuzun Terminalindeki son komut şimdi başarılı olacaktır.

  6. Bilgisayarınıza şunu yazın (tekrar 192.0.2.1yukarıdan telefonunuzun IP adresiyle değiştirin ):

    ssh phablet@192.0.2.1
    
  7. Telefonunuzun IP adresi değişirse, ip addrtelefonunuzdaki Terminal uygulamasında tekrar kullanmanız ve ssh komutunuzu buna göre ayarlamanız gerekir.


3
Adb kabuğu ve USB kablosu ile olduğu gibi çok bilgilendirici cevap. Çift beğeni!
Dublörler

Gerçekten Veryvery yararlı cevap. +2
zloster

(benden iyi bilir) @ogra söylüyor sudo android-gadget-service enable sshsuperceded sudo setprop persist.service.ssh trueve bunun yerine kullanılması gerektiğini, ancak bu test etmedim.
Robie Basak

1
BQ Aquarius 5 ile telefon android yöntemi ile bulunamıyor gibi bu en iyi cevap olmalıdır.
Kat Amsterdam

14

OpenSSH sunucusu şimdi (13 Eylül 2013 itibariyle) Ubuntu Touch kurulumu ile önceden yüklenmiştir . Ancak, varsayılan olarak devre dışıdır . Ayrıca SSH'nin kökten çalışmasını da istemezsiniz .


Cihaza bir USB bağlantısı kullanarak aşağıdakileri yazmanız gerekir:

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

Engelli durumuna dönmek için

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

GÜNCELLEME: (09-Mart-2014)

Yukarıdaki cevap artık güncel değil.

  • Mart 2014'ün başından itibaren dosya /etc/init/ssh.overridehala mevcutken, içeriğinin değiştirilmesi SSH'nin (aslında sshd arka plan programı) başlangıçta çalışmasına izin vermiyor .

  • Son sürümler ( 226 için test edilmiş , ancak muhtemelen daha önce test edilmiştir ) şimdi SSH'nin ( sshd daemon) başlangıçta yeniden başlamasına izin vermek için yeni bir meta-flag persist.service.ssh dosyasını destekliyor .

Komut istemini al (cihazda)

adb shell
su - phablet

SSH'yi başlatın ve bayrağı ayarlayın

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

Cihazı yeniden başlat

sudo reboot

SSH arka plan programı otomatik olarak başlamalı

sudo service ssh status

SSH otomatik başlatmayı devre dışı bırakmak için bayrağı değiştirin:

sudo setprop persist.service.ssh false

su gittikten sonra neden her şeyi sudo yapmalısın?
Ahtapot

1
Satır kullanıcıyı süper kullanıcı yerine phablet olaraksu - phablet değiştirir . Saldırılara karşı daha az savunmasız olmak için en az ayrıcalık kullanmak genellikle en iyi uygulamadır .
david6

bu cevabın güncellenmesi gerekiyor, @ ogra's'a bakın
sergiusens

1
Önce bu yöntemi gözden geçirip denemeniz gerekecek.
david6


0

Ubuntu SDK'yı yükleyin ve cihazlar panelinde "Cihazı aç SSH bağlantısını aç" ı tıklayın. Bonus: Yeni bir Kapsam yazmaya direnmeyeceksiniz ...


0

Daha hızlı (hızlı ve kirli) bir yol buldum (Dikkat: güvenli değil!) :

1) Terminal uygulamasını yükleyin ve açın

2) Köke Geçin

sudo su

(ekran kilidi şifrenizi girin)

2) Aşağıdaki komutları girin:

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

Şimdi ssh sunucunuz çalışıyor ve ekran kilidi kodunuzu bir şifre olarak kabul edecek! Dikkat: Kaba kuvvet uygulamak artık çok kolay! Lütfen ayarlarınızı hemen değiştirin (artık bilgisayarınızdan ssh ile bağlandıktan sonra rahat bir şekilde yapabilirsiniz).

Sshd'yi el ile çalıştırdığınız için, /etc/init/ssh.override dosyası artık uygulanmaz ...

PC'nizden bağlanmak için:

ssh phablet@x.x.x.x

burada xxxx, telefonunuzun bir IP adresidir ve bu adresi yazarak bulabilirsiniz

ifconfig

telefonunuzun terminalinde.

Zevk almak!

GÜNCELLEME : güncelleme sonrasında sshd başlatılamıyor olabilir çünkü ana bilgisayar anahtarlarını açamıyor, sadece onları yeniden oluşturuyor olabilir:

/usr/bin/ssh-keygen -A

/ Var / run / sshd eksik olduğu için başarısız olursa, oluşturun:

mkdir /var/run/sshd
chmod 755 /var/run/sshd
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.