communicate via ssh without password prompt

Hey folks,

First post for me!

I’m working with openSuse and Linux for some months now. I had some issues from time to time but now appeared the first i couldn’t solve via usual research.

I’m setting up a small cluster for numerical simulations using open MPI and therefor my computers have to communicate via ssh without password prompt. Both of my computers are running with Leap 15.3.
I Followed the instructions here https://en.opensuse.org/SDB:OpenSSH_public_key_authentication. I started the sshd on the host, generated a key pair on the client, connected to the host and copied the public key to the host via

ssh-copy-id

The file ~/.ssh/authorizey_key on the host contains the copied mpi_key.pub that i generated on the client. So i edit /etc/ssh/sshd_config and set

PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no
UsePAM yes
ChallengeResponseAuthentication no

afterwards i enter

rcsshd reload

and can’t ssh anymore getting following error:

Permission denied (publickey).
ssh -vvv mpiuser@worker

(worker is my host) gives me

OpenSSH_8.4p1, OpenSSL 1.1.1d  10 Sep 2019 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: /etc/ssh/ssh_config line 20: Applying options for * 
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/root/.ssh/known_hosts' 
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/root/.ssh/known_hosts2' 
debug2: resolving "worker" port 22 
debug2: ssh_connect_direct 
debug1: Connecting to worker [149.222.198.171] port 22. 
debug1: Connection established. 
debug1: identity file /root/.ssh/id_rsa type -1 
debug1: identity file /root/.ssh/id_rsa-cert type -1 
debug1: identity file /root/.ssh/id_dsa type -1 
debug1: identity file /root/.ssh/id_dsa-cert type -1 
debug1: identity file /root/.ssh/id_ecdsa type -1 
debug1: identity file /root/.ssh/id_ecdsa-cert type -1 
debug1: identity file /root/.ssh/id_ecdsa_sk type -1 
debug1: identity file /root/.ssh/id_ecdsa_sk-cert type -1 
debug1: identity file /root/.ssh/id_ed25519 type -1 
debug1: identity file /root/.ssh/id_ed25519-cert type -1 
debug1: identity file /root/.ssh/id_ed25519_sk type -1 
debug1: identity file /root/.ssh/id_ed25519_sk-cert type -1 
debug1: identity file /root/.ssh/id_xmss type -1 
debug1: identity file /root/.ssh/id_xmss-cert type -1 
debug1: Local version string SSH-2.0-OpenSSH_8.4 
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.4 
debug1: match: OpenSSH_8.4 pat OpenSSH* compat 0x04000000 
debug2: fd 3 setting O_NONBLOCK 
debug1: Authenticating to worker:22 as 'mpiuser' 
debug3: hostkeys_foreach: reading file "/root/.ssh/known_hosts" 
debug3: record_hostkey: found key type ECDSA in file /root/.ssh/known_hosts:1 
debug3: load_hostkeys: loaded 1 keys from worker 
debug3: order_hostkeyalgs: have matching best-preference key type ecdsa-sha2-nistp256-cert-v01@openssh.com, using Ho
stkeyAlgorithms verbatim 
debug3: send packet: type 20 
debug1: SSH2_MSG_KEXINIT sent 
debug3: receive packet: type 20 
debug1: SSH2_MSG_KEXINIT received 
debug2: local client KEXINIT proposal 
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sh
a2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-
hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c 
debug2: host key algorithms: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa
-sha2-nistp521-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,sk-
ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v0
1@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,ssh-ed2
5519,sk-ssh-ed25519@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa 
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-g
cm@openssh.com 
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-g
cm@openssh.com 
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@
openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@
openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: compression ctos: none,zlib@openssh.com,zlib 
debug2: compression stoc: none,zlib@openssh.com,zlib 
debug2: languages ctos:  
debug2: languages stoc:  
debug2: first_kex_follows 0  
debug2: reserved 0  
debug2: peer server KEXINIT proposal 
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sh
a2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-
hellman-group14-sha256,diffie-hellman-group14-sha1 
debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519 
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-g
cm@openssh.com 
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-g
cm@openssh.com 
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@
openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@
openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: compression ctos: none,zlib@openssh.com 
debug2: compression stoc: none,zlib@openssh.com 
debug2: languages ctos:  
debug2: languages stoc:  
debug2: first_kex_follows 0  
debug2: reserved 0  
debug1: kex: algorithm: curve25519-sha256 
debug1: kex: host key algorithm: ecdsa-sha2-nistp256 
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none 
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none 
debug1: kex: curve25519-sha256 need=64 dh_need=64 
debug1: kex: curve25519-sha256 need=64 dh_need=64 
debug3: send packet: type 30 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY 
debug3: receive packet: type 31 
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:9aCTF8Y83aqL7+VTun7JEKm0iVXSSoNBdQD7iy9UbDc 
debug3: hostkeys_foreach: reading file "/root/.ssh/known_hosts" 
debug3: record_hostkey: found key type ECDSA in file /root/.ssh/known_hosts:1 
debug3: load_hostkeys: loaded 1 keys from worker 
debug3: hostkeys_foreach: reading file "/root/.ssh/known_hosts" 
debug3: record_hostkey: found key type ECDSA in file /root/.ssh/known_hosts:1 
debug3: load_hostkeys: loaded 1 keys from 149.222.198.171 
debug1: Host 'worker' is known and matches the ECDSA host key. 
debug1: Found key in /root/.ssh/known_hosts:1 
debug3: send packet: type 21 
debug2: set_newkeys: mode 1 
debug1: rekey out after 134217728 blocks 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug3: receive packet: type 21 
debug1: SSH2_MSG_NEWKEYS received 
debug2: set_newkeys: mode 0 
debug1: rekey in after 134217728 blocks 
debug1: Will attempt key: /root/.ssh/id_rsa  
debug1: Will attempt key: /root/.ssh/id_dsa  
debug1: Will attempt key: /root/.ssh/id_ecdsa  
debug1: Will attempt key: /root/.ssh/id_ecdsa_sk  
debug1: Will attempt key: /root/.ssh/id_ed25519  
debug1: Will attempt key: /root/.ssh/id_ed25519_sk  
debug1: Will attempt key: /root/.ssh/id_xmss  
debug2: pubkey_prepare: done 
debug3: send packet: type 5 
debug3: receive packet: type 7 
debug1: SSH2_MSG_EXT_INFO received 
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@openssh.com,ssh-rsa,rsa-sha2-256,rsa-sha2-51
2,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,webauthn-sk
-ecdsa-sha2-nistp256@openssh.com> 
debug3: receive packet: type 6 
debug2: service_accept: ssh-userauth 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug3: send packet: type 50 
debug3: receive packet: type 51 
debug1: Authentications that can continue: publickey 
debug3: start over, passed a different list publickey 
debug3: preferred publickey,keyboard-interactive,password 
debug3: authmethod_lookup publickey 
debug3: remaining preferred: keyboard-interactive,password 
debug3: authmethod_is_enabled publickey 
debug1: Next authentication method: publickey 
debug1: Trying private key: /root/.ssh/id_rsa 
debug3: no such identity: /root/.ssh/id_rsa: No such file or directory 
debug1: Trying private key: /root/.ssh/id_dsa 
debug3: no such identity: /root/.ssh/id_dsa: No such file or directory 
debug1: Trying private key: /root/.ssh/id_ecdsa 
debug3: no such identity: /root/.ssh/id_ecdsa: No such file or directory 
debug1: Trying private key: /root/.ssh/id_ecdsa_sk 
debug3: no such identity: /root/.ssh/id_ecdsa_sk: No such file or directory 
debug1: Trying private key: /root/.ssh/id_ed25519 
debug3: no such identity: /root/.ssh/id_ed25519: No such file or directory 
debug1: Trying private key: /root/.ssh/id_ed25519_sk 
debug3: no such identity: /root/.ssh/id_ed25519_sk: No such file or directory 
debug1: Trying private key: /root/.ssh/id_xmss 
debug3: no such identity: /root/.ssh/id_xmss: No such file or directory 
debug2: we did not send a packet, disable method 
debug1: No more authentication methods to try. 
mpiuser@worker: Permission denied (publickey).

Does anyone know what to do that i can connect again?
Resetting /etc/ssh/sshd_config on the host makes login with password possible again.

If you are using non-default private key file name you need to explicitly specify it in ssh command (ssh -i …/mpi_key).

Oh I forgot to say that i inserted

[FONT=monospace]IdentityFile ~/.ssh/mpi_key

[/FONT]to the /etc/ssh/ssh_config file on the client.

ssh -i ~/.ssh/mpi_key worker

also doesn’t work.

You forgot to show logs with your actual configuration.

Sorry, I’m a little confused about this. Maybe i should have asked a little earlier before i got my brain mashed.

mpiuser@localhost:~> ssh -vvv worker 
OpenSSH_8.4p1, OpenSSL 1.1.1d  10 Sep 2019 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: /etc/ssh/ssh_config line 20: Applying options for * 
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/mpiuser/.ssh/known_hosts' 
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/mpiuser/.ssh/known_hosts2' 
debug2: resolving "worker" port 22 
debug2: ssh_connect_direct 
debug1: Connecting to worker [149.222.198.171] port 22. 
debug1: Connection established. 
debug1: identity file /home/mpiuser/.ssh/mpi_key type 1 
debug1: identity file /home/mpiuser/.ssh/mpi_key-cert type -1 
debug1: Local version string SSH-2.0-OpenSSH_8.4 
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.4 
debug1: match: OpenSSH_8.4 pat OpenSSH* compat 0x04000000 
debug2: fd 3 setting O_NONBLOCK 
debug1: Authenticating to worker:22 as 'mpiuser' 
debug3: hostkeys_foreach: reading file "/home/mpiuser/.ssh/known_hosts" 
debug3: record_hostkey: found key type ECDSA in file /home/mpiuser/.ssh/known_hosts:1 
debug3: load_hostkeys: loaded 1 keys from worker 
debug3: order_hostkeyalgs: have matching best-preference key type ecdsa-sha2-nistp256-cert-v01@openssh.com, using Ho
stkeyAlgorithms verbatim 
debug3: send packet: type 20 
debug1: SSH2_MSG_KEXINIT sent 
debug3: receive packet: type 20 
debug1: SSH2_MSG_KEXINIT received 
debug2: local client KEXINIT proposal 
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sh
a2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-
hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c 
debug2: host key algorithms: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa
-sha2-nistp521-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,sk-
ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v0
1@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,ssh-ed2
5519,sk-ssh-ed25519@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa 
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-g
cm@openssh.com 
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-g
cm@openssh.com 
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@
openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@
openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: compression ctos: none,zlib@openssh.com,zlib 
debug2: compression stoc: none,zlib@openssh.com,zlib 
debug2: languages ctos:  
debug2: languages stoc:  
debug2: first_kex_follows 0  
debug2: reserved 0  
debug2: peer server KEXINIT proposal 
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sh
a2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-
hellman-group14-sha256,diffie-hellman-group14-sha1 
debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519 
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-g
cm@openssh.com 
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-g
cm@openssh.com 
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@
openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@
openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: compression ctos: none,zlib@openssh.com 
debug2: compression stoc: none,zlib@openssh.com 
debug2: languages ctos:  
debug2: languages stoc:  
debug2: first_kex_follows 0  
debug2: reserved 0  
debug1: kex: algorithm: curve25519-sha256 
debug1: kex: host key algorithm: ecdsa-sha2-nistp256 
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none 
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none 
debug1: kex: curve25519-sha256 need=64 dh_need=64 
debug1: kex: curve25519-sha256 need=64 dh_need=64 
debug3: send packet: type 30 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY 
debug3: receive packet: type 31 
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:9aCTF8Y83aqL7+VTun7JEKm0iVXSSoNBdQD7iy9UbDc 
debug3: hostkeys_foreach: reading file "/home/mpiuser/.ssh/known_hosts" 
debug3: record_hostkey: found key type ECDSA in file /home/mpiuser/.ssh/known_hosts:1 
debug3: load_hostkeys: loaded 1 keys from worker 
debug3: hostkeys_foreach: reading file "/home/mpiuser/.ssh/known_hosts" 
debug3: record_hostkey: found key type ECDSA in file /home/mpiuser/.ssh/known_hosts:1 
debug3: load_hostkeys: loaded 1 keys from 149.222.198.171 
debug1: Host 'worker' is known and matches the ECDSA host key. 
debug1: Found key in /home/mpiuser/.ssh/known_hosts:1 
debug3: send packet: type 21 
debug2: set_newkeys: mode 1 
debug1: rekey out after 134217728 blocks 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug3: receive packet: type 21 
debug1: SSH2_MSG_NEWKEYS received 
debug2: set_newkeys: mode 0 
debug1: rekey in after 134217728 blocks 
debug1: Skipping ssh-dss key /home/mpiuser/.ssh/mpi_key - not in PubkeyAcceptedKeyTypes 
debug2: pubkey_prepare: done 
debug3: send packet: type 5 
debug3: receive packet: type 7 
debug1: SSH2_MSG_EXT_INFO received 
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@openssh.com,ssh-rsa,rsa-sha2-256,rsa-sha2-51
2,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,webauthn-sk
-ecdsa-sha2-nistp256@openssh.com> 
debug3: receive packet: type 6 
debug2: service_accept: ssh-userauth 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug3: send packet: type 50 
debug3: receive packet: type 51 
debug1: Authentications that can continue: publickey 
debug3: start over, passed a different list publickey 
debug3: preferred publickey,keyboard-interactive,password 
debug3: authmethod_lookup publickey 
debug3: remaining preferred: keyboard-interactive,password 
debug3: authmethod_is_enabled publickey 
debug1: Next authentication method: publickey 
debug2: we did not send a packet, disable method 
debug1: No more authentication methods to try. 
mpiuser@worker: Permission denied (publickey).

What is not clear in this message? Generate key pair using algorithm allowed by your configuration.

You only need:

ssh-keygen

to generate a key (I do it without any password)

ssh-copy-id

to copy the Key to the server.

After that, you can login without password

Thanks for this! RSA key pair works! Because it was proposed in the tutorial i thought it would also work with DSA key and to be honest i read about the differences and then just chose one of two.
I wasn’t able to detect this issue maybe because I never worked with ssh before.

Thanks for your help! I go on now and hopefully won’t complain too soon again.

Greetings