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.
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>
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:
ssh-keygen
sur votre ordinateur et suivez les instructions pour en générer un.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)
Recherchez l'adresse IP de votre téléphone dans le terminal, telle que renvoyée par la commande ip addr
ci-dessus.
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.
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]
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.
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
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
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
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 ...
Essayez de le rendre accessible en écriture et redémarrez:
touch /userdata/.writable_image
Edit: Lorsque vous le construisez, utilisez le --pending
Mises à jour de phablet-flash