![SSH 密钥问题 - Fedora 38](https://linux22.com/image/222491/SSH%20%E5%AF%86%E9%92%A5%E9%97%AE%E9%A2%98%20-%20Fedora%2038.png)
我有一个至少有 2 个用户(root 和我自己)的远程服务器。我在两个 $HOME 文件夹中的 .ssh/authorized_keys 中有相同的密钥。我可以连接 root 帐户,但从我的帐户中出现“ Server refused our key
”错误。我已经检查了 sshd_config (在服务器上)和 .ssh 文件夹以检查是否有错误。由于我对两个帐户使用相同的密钥 ed25519 我不知道。我唯一能看到的是UsePAM yes
/etc/ssh/sshd_config.d/50-redhat.conf,但是如果我删除它,我将无法使用 passwd 登录。
这是 ssh -v 结果
[stan@DEL-3KC0G63 ~]$ ssh -v -i /mnt/c/Users/s.garret
/.ssh/id_ed25519 [email protected]
OpenSSH_8.0p1, OpenSSL 1.1.1k FIPS 25 Mar 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config.d/05-redhat.conf
debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
debug1: configuration requests final Match pass
debug1: re-parsing configuration
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config.d/05-redhat.conf
debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
debug1: Connecting to 192.168.1.28 [192.168.1.28] port 22.
debug1: Connection established.
debug1: identity file /mnt/c/Users/s.garret/.ssh/id_ed25519 type 3
debug1: identity file /mnt/c/Users/s.garret/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.0
debug1: Remote protocol version 2.0, remote software version OpenSSH_9.0
debug1: match: OpenSSH_9.0 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 192.168.1.28:22 as 'stan'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
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
debug1: kex: curve25519-sha256 need=32 dh_need=32
debug1: kex: curve25519-sha256 need=32 dh_need=32
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:LjRh07mgxeC37wDufL2WmbYVYTY0tKHptZSSZGc1Q3U
debug1: Host '192.168.1.28' is known and matches the ECDSA host key.
debug1: Found key in /home/stan/.ssh/known_hosts:3
debug1: rekey out after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 4294967296 blocks
debug1: Will attempt key: /mnt/c/Users/s.garret/.ssh/id_ed25519 ED25519 SHA256:DF1VjlJzo51HzV0TQgCcKnRCZXlhr9rCwiJuZBZzVZU explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,[email protected],ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected]>
debug1: kex_input_ext_info: [email protected] (unrecognised)
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available: Invalid UID in persistent keyring name
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available: Invalid UID in persistent keyring name
debug1: Next authentication method: publickey
debug1: Offering public key: /mnt/c/Users/s.garret/.ssh/id_ed25519 ED25519 SHA256:DF1VjlJzo51HzV0TQgCcKnRCZXlhr9rCwiJuZBZzVZU explicit
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: password
[email protected]'s password:
debug1: Authentication succeeded (password).
以及 ssh 文件夹上 ls -la 的结果:
[stan@metal ~]$ ls -la .ssh/
total 24
drwx------. 2 stan stan 4096 17 juil. 18:20 .
drwxrwxr-x. 53 stan stan 4096 17 juil. 18:38 ..
-rw-------. 1 stan stan 115 4 juil. 08:34 authorized_keys
-rw-------. 1 stan stan 2622 16 févr. 2020 id_rsa
-rw-------. 1 stan stan 582 16 févr. 2020 id_rsa.pub
-rw-------. 1 stan stan 1361 16 mai 18:33 known_hosts
[stan@metal ~]$
答案1
SSH为了你自身的安全做了一些安全限制。虽然 ~/.ssh 下的所有内容看起来都不错,但 stan $HOME 在 775/rwxrwxr-x 处过于开放,根据您的 .. 在您的 .ssh 目录ls
输出中。
如果以 stan 身份运行:
chmod 700 $HOME
或者如果是根:
chmod 700 ~stan
现在你的 ssh 应该可以工作了。