web-dev-qa-db-fra.com

Comment puis-je accéder à mon téléphone Ubuntu via SSH?

Chaque fois que j'essaie d'exécuter apt-get install openssh-server j'obtiens les erreurs suivantes:

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.
16
user195123

Avec la version finale officielle, Ubuntu for Phones est livré avec l'outil "Android-gadget-service" permettant de gérer adb, mtp, tethering USB et ssh.

Connectez votre appareil via USB, activez le mode développeur dans:

"Paramètres système-> À propos de ce téléphone-> Mode développeur"

... et lancez-vous (depuis votre PC, assurez-vous de déverrouiller l'écran du téléphone, sinon adb refusera de vous laisser entrer):

adb Shell Android-gadget-service enable ssh

Copiez votre clé publique sur le téléphone:

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

Vous pouvez maintenant rechercher votre adresse IP sur le téléphone et utiliser ssh pour vous connecter:

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

Pour activer l’accès ssh entièrement par wifi, sans mode développeur sur le téléphone, sans outil particulier sur votre ordinateur et sans utiliser USB:

  1. Si vous n'avez pas encore de paire de clés ssh, tapez ssh-keygen sur votre ordinateur et suivez les instructions pour en générer un.
  2. Installez l'application Terminal sur le téléphone à partir de l'App Store.
  3. Ouvrez un terminal et tapez (c'est plus facile avec le téléphone en orientation paysage):

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

    (la dernière commande sera bloquée; c'est attendu)

  4. Recherchez l'adresse IP de votre téléphone dans le terminal, telle que renvoyée par la commande ip addr ci-dessus.

  5. Sur votre ordinateur, tapez (en remplaçant 192.0.2.1 par l'adresse IP de votre téléphone indiquée ci-dessus):

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

    En cas de succès, la dernière commande sur le terminal de votre téléphone va maintenant réussir.

  6. Sur votre ordinateur, tapez (en remplaçant à nouveau 192.0.2.1 par l'adresse IP de votre téléphone indiquée ci-dessus):

    ssh [email protected]
    
  7. Si l'adresse IP de votre téléphone change, vous devrez à nouveau utiliser ip addr dans l'application Terminal de votre téléphone et ajuster votre commande ssh en conséquence.

17
Robie Basak

serveur OpenSSH est maintenant (à partir du 13-Sep-2013) préchargé avec buntu Touch install. Cependant, il est également désactivé par défaut . Vous ne voulez pas non plus que SSH fonctionne à partir de root.


Vous devez saisir les éléments suivants à l’aide d’une connexion USB au périphérique:

adb Shell
su - phablet
Sudo tee /etc/init/ssh.override < /dev/null

Pour revenir en mode désactivé

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

MISE À JOUR: (09-mars-2014)

La réponse ci-dessus n'est plus à jour.

  • Début mars 2014, alors que le fichier /etc/init/ssh.override existe toujours, la modification de son contenu ne permet pas à SSH (en réalité le démon sshd) de s'exécuter au démarrage.

  • Les versions récentes (testées pour 226, mais peut-être plus tôt) prennent désormais en charge un nouveau méta-indicateur persist.service.ssh, pour autoriser SSH (sshd = démon) pour redémarrer au démarrage.

Obtenir l'invite de commande (sur le périphérique)

adb Shell
su - phablet

Démarrer SSH, et positionner le drapeau

Sudo service ssh start
Sudo setprop persist.service.ssh true

Redémarrer l'appareil

Sudo reboot

Le démon SSH devrait démarrer automatiquement

Sudo service ssh status

Pour désactiver le démarrage automatique de SSH, modifiez l'indicateur:

Sudo setprop persist.service.ssh false
14
david6

Je viens de trouver un moyen plus rapide (rapide et sale) (Attention: ce n'est pas sécurisé!):

1) Installez l'application de terminal et ouvrez-la

2) passer à la racine

Sudo su

(entrez votre mot de passe de verrouillage d'écran)

2) Entrez les commandes suivantes:

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

Maintenant, votre serveur ssh est en marche et il acceptera votre code de verrouillage d'écran comme mot de passe! Attention: il est très facile de faire preuve de force brute maintenant! Modifiez immédiatement vos paramètres (vous pouvez maintenant le faire facilement, après vous être connecté via ssh depuis votre PC).

Comme vous exécutez sshd manuellement, le fichier /etc/init/ssh.override n'est plus appliqué ...

Donc, pour vous connecter depuis votre PC:

ssh [email protected]

où x.x.x.x est une adresse IP de votre téléphone, que vous pouvez trouver en tapant

ifconfig

dans le terminal de votre téléphone.

Prendre plaisir!

UPDATE: il se peut qu'après la mise à jour, sshd ne puisse pas démarrer car il ne peut pas ouvrir les clés d'hôte, il suffit alors de les régénérer:

/usr/bin/ssh-keygen -A

Si cela échoue parce que/var/run/sshd est manquant, créez-le simplement:

mkdir /var/run/sshd
chmod 755 /var/run/sshd
0
Andrey Sapegin

Installez Ubuntu SDK et cliquez sur "Ouvrir la connexion SSH avec le périphérique" dans le panneau des périphériques. Bonus: vous ne résisterez pas à l'écriture d'un nouveau Scope ...

0
Beernarrd

Essayez de le rendre accessible en écriture et redémarrez:

touch /userdata/.writable_image

Edit: Lorsque vous le construisez, utilisez le --pendingMises à jour de phablet-flash

Edit: Les images système constituent désormais la méthode recommandée pour déployer et mettre à jour Ubuntu Touch

0
wojox