所有用于连接到运行 ISPConfig 3 的 Debian 10.5 (buster) 的 SSH 密钥突然停止工作并出现错误Permission denied (publickey).
。我在我的机器上创建了一系列密钥和目录,并像往常一样将公钥上传到 ISPConfig 控制台。但当我去测试它们时,突然所有密钥都停止工作了。
我曾经ssh-keygen -b 4096
在我的机器上生成密钥
使用$stat ~/.ssh/id_rsa
和$stat ~/.ssh/id_rsa.pub
分别都是 600 和 644 权限。
当我运行此命令(所有密钥/用户)时:
ssh -vvvv -i ~/.ssh/id_test_root_rsa [email protected]
我犯了同样的错误:
OpenSSH_8.2p1 Ubuntu-4ubuntu0.2, OpenSSL 1.1.1f 31 Mar 2020
debug1: Reading configuration data /home/username/.ssh/config
debug1: /home/username/.ssh/config line 39: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug2: resolving "test.example.com" port 22
debug2: ssh_connect_direct
debug1: Connecting to test.example.com [192.168.1114.16] port 22.
debug1: Connection established.
debug1: identity file /home/username/.ssh/id_wayne_greysky_rsa type 0
debug1: identity file /home/username/.ssh/id_wayne_greysky_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.9p1 Debian-10+deb10u2
debug1: match: OpenSSH_7.9p1 Debian-10+deb10u2 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to test.example.com:22 as 'root'
debug3: hostkeys_foreach: reading file "/home/username/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /home/username/.ssh/known_hosts:9
debug3: load_hostkeys: loaded 1 keys from test.example.com
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
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,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c
debug2: host key algorithms: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],ssh-ed25519,[email protected],rsa-sha2-512,rsa-sha2-256,ssh-rsa
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,[email protected],zlib
debug2: compression stoc: none,[email protected],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,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-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: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none
debug2: compression stoc: none
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: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
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:/UbY27WLpQv3cKjD9DYVcBFO9PvWOGQedqZBiNMmDgQ
debug3: hostkeys_foreach: reading file "/home/username/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /home/username/.ssh/known_hosts:9
debug3: load_hostkeys: loaded 1 keys from test.example.com
debug3: hostkeys_foreach: reading file "/home/username/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /home/username/.ssh/known_hosts:10
debug3: load_hostkeys: loaded 1 keys from 192.168.1114.16
debug1: Host 'test.example.com' is known and matches the ECDSA host key.
debug1: Found key in /home/username/.ssh/known_hosts:9
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: /home/username/.ssh/id_wayne_greysky_rsa RSA SHA256:MOlw6wxat1DTsaL41395RV7t78GJa6Cze2a91bSa6PY explicit agent
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,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
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 53
debug3: input_userauth_banner
Welcome to the Thunderdome
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-with-mic,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: Offering public key: /home/username/.ssh/id_wayne_greysky_rsa RSA SHA256:MOlw6wxat1DTsaL41395RV7t78GJa6Cze2a91bSa6PY explicit agent
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
[email protected]: Permission denied (publickey).
我还注意到 ssh 正在检查 ssh_config..而不是 sshd_config...
笔记:根密钥仍然有效,但在测试期间我重新命名了它,然后为根密钥重新生成了一个 SSH 密钥……所以现在我完全被锁定了。
有小费吗?
答案1
我通过执行以下操作解决了该问题:
在 中/etc/ssh/sshd_config
,我更改了:
PermitRootLogin without-password
到:
PermitRootLogin yes
/erc/ssh/ssh_config
我实际上取消了第 19 行的注释,内容是IdentityFile ~/.ssh/id_rsa
从那里,我跑service sshd restart
了service sshrestart
。
然后在我的本地机器终端上运行:
ssh-copy-id [email protected]
这向我发送了一条消息,指出已上传多个密钥。
所以我尝试了ssh -vvvv -i ~/ssh/id_rsa [email protected]
瞧!成功了。我测试了其他用户/密钥,它们也都正常工作。
最后,我注释掉IdentityFile ~/.ssh/id_rsa
了,/etc/ssh/ssh_config
并改PermitRootLogin Yes
回PermitRootLogin without-password
再次测试了所有内容,并且一切仍然有效......
我认为我对 的编辑并不ssh_config
相关,可能是因为它在我上面的原始帖子的调试输出中被引用。我认为问题是,如果不更改为PermitRootLogin
,Yes
然后再切换回 ,则不会接受任何新密钥without-password
。