Ssh auth via private/public key impossible

L’utilisateur admin est peut être particulier. Est-ce que les commandes indiquées fonctionnent avec un autre utilisateur du serveur?


Suite à la migration 3.4, j’ai eu le même soucis pour me connecter en tant que admin au lieu de root avec une clef ssh. Je me suis même fait bannir par fail2ban suite à trop de mauvaises tentatives.

J’ai pu restaurer l’accès avec les commandes suivantes, je ne sais pas si une manière “plus propre” est prévue par Yunohost pour l’instant. Il faudra attendre un retour officiel.
En cas de doute sur ce que font ces commandes, ne rien faire et attendre un retour!



Modification de l’utilisateur de connexion sur l’ordinateur

➜  ~ cat .ssh/config
[...]

Host cloud nuage
    HostName myAwesomeServerIP
    #User root
    User admin
    IdentityFile ~/.ssh/id_ecdsa

Connexion au serveur en forçant l’utilisation du mot de passe au lieu de la clef ssh

➜  ~ ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no cloud -v
admin@myAwesomeServerIP's password: XXX

admin@yunohost:~$ 

admin@yunohost:~$ pwd
/home/admin

admin@yunohost:~$ id
uid=1007(admin) gid=1007 groupes=1007,4001(admins),4002(sftpusers)
admin@yunohost:~$ debug1: client_input_channel_req: channel 0 rtype keepalive@openssh.com reply 1

admin@yunohost:~$ groups 
groups: impossible de trouver le nom pour le GID 1007
1007 admins sftpusers

admin@yunohost:~$ sudo -l
Entrées par défaut pour admin sur yunohost :
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

L'utilisateur admin peut utiliser les commandes suivantes sur yunohost :
    (root) NOPASSWD: ALL




admin@yunohost:~$ ls .ssh
ls: impossible d'accéder à '.ssh': Aucun fichier ou dossier de ce type

admin@yunohost:~$ sudo mkdir .ssh

admin@yunohost:~$ ls -al
total 36
dr-xr-xr-x  3 admin 1007 4096 févr.  3 12:56 .
drwxr-xr-x 18 root  root 4096 nov.   5 01:10 ..
-r--------  1 admin 1007  154 juil.  4  2017 .bash_history
-r--r--r--  1 admin 1007  220 févr.  8  2016 .bash_logout
-r--r--r--  1 admin 1007 3515 févr.  8  2016 .bashrc
lrwxrwxrwx  1 admin 1007    6 févr.  8  2016 media -> /media
-r--r--r--  1 admin 1007  675 févr.  8  2016 .profile
-r--------  1 admin 1007 1024 mars   4  2017 .rnd
drwxr-xr-x  2 root  root 4096 févr.  3 12:56 .ssh
-r--r--r--  1 admin 1007  132 févr.  8  2016 .vimrc




admin@yunohost:~$ sudo chmod 700 .ssh/
admin@yunohost:~$ sudo chown admin:1007 .ssh/
admin@yunohost:~$ ls -al
total 36
dr-xr-xr-x  3 admin 1007 4096 févr.  3 12:56 .
drwxr-xr-x 18 root  root 4096 nov.   5 01:10 ..
-r--------  1 admin 1007  154 juil.  4  2017 .bash_history
-r--r--r--  1 admin 1007  220 févr.  8  2016 .bash_logout
-r--r--r--  1 admin 1007 3515 févr.  8  2016 .bashrc
lrwxrwxrwx  1 admin 1007    6 févr.  8  2016 media -> /media
-r--r--r--  1 admin 1007  675 févr.  8  2016 .profile
-r--------  1 admin 1007 1024 mars   4  2017 .rnd
drwx------  2 admin 1007 4096 févr.  3 12:56 .ssh
-r--r--r--  1 admin 1007  132 févr.  8  2016 .vimrc


admin@yunohost:~$ sudo -i
root@yunohost:~# cat .ssh/authorized_keys2 
ecdsa-sha2-nistp521 XXXXXXXXXXXXXXXXXXXXXXXXXX

root@yunohost:~# cp .ssh/authorized_keys2 /home/admin/.ssh/

root@yunohost:~# ls -al /home/admin/.ssh/
total 12
drwx------ 2 admin 1007 4096 févr.  3 13:00 .
dr-xr-xr-x 3 admin 1007 4096 févr.  3 12:56 ..
-rw-r--r-- 1 root  root  279 févr.  3 13:00 authorized_keys2


admin@yunohost:~$ sudo chown -R admin:1007 .ssh/authorized_keys2
admin@yunohost:~$ ls -al .ssh/
total 12
drwx------ 2 admin 1007 4096 févr.  3 13:00 .
dr-xr-xr-x 3 admin 1007 4096 févr.  3 12:56 ..
-rw-r--r-- 1 admin 1007  279 févr.  3 13:00 authorized_keys2

admin@yunohost:~$ 

Connexion depuis l’ordinateur

➜  ~ ssh cloud

admin@yunohost:~$ echo "Hello there !"
Hello there !