SSH 密钥不起作用

SSH 密钥不起作用

我曾使用密钥运行 SSH,但由于某种原因它停止了,我不知道为什么。我尝试通过复制我的公钥进行重新配置,我尝试确保它在客户端中加载,我甚至对远程计算机上的 SSH 配置进行了一些调整。我有 ssh -v,但我不确定问题是什么。这是我的输出(带有一些掩码)

[USER]@[USER]s-MBP ~ % ssh -v [USER]@[SERVER]
OpenSSH_8.1p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/[USER]/.ssh/config
debug1: /Users/[USER]/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /usr/local/etc/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 47: Applying options for *
debug1: Connecting to [SERVER] port 22.
debug1: Connection established.
debug1: identity file /Users/[USER]/.ssh/id_rsa type 0
debug1: identity file /Users/[USER]/.ssh/id_rsa-cert type -1
debug1: identity file /Users/[USER]/.ssh/id_dsa type -1
debug1: identity file /Users/[USER]/.ssh/id_dsa-cert type -1
debug1: identity file /Users/[USER]/.ssh/id_ecdsa type -1
debug1: identity file /Users/[USER]/.ssh/id_ecdsa-cert type -1
debug1: identity file /Users/[USER]/.ssh/id_ed25519 type -1
debug1: identity file /Users/[USER]/.ssh/id_ed25519-cert type -1
debug1: identity file /Users/[USER]/.ssh/id_xmss type -1
debug1: identity file /Users/[USER]/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
debug1: match: OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 pat OpenSSH_7.0*,OpenSSH_7.1*,OpenSSH_7.2*,OpenSSH_7.3*,OpenSSH_7.4*,OpenSSH_7.5*,OpenSSH_7.6*,OpenSSH_7.7* compat 0x04000002
debug1: Authenticating to [SERVER]:22 as '[USER]'
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: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:C3ILGqhuYcsr/6Vox2PCpZ05JKr/gUQI3y8RpB7Ai9U
debug1: Host '[SERVER]' is known and matches the ECDSA host key.
debug1: Found key in /Users/[USER]/.ssh/known_hosts:12
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: [1] touchid-mac ECDSA SHA256:D2nlwjzZ/l7+0ruNCKJ2uTaVD2kkcRghhVW1MBCcpK0 agent
debug1: Will attempt key: /Users/[USER]/.ssh/id_rsa RSA SHA256:g5VEpqkXbAcFYTJwtLiIk+4f84Bshudqx9CXLEfo9rg
debug1: Will attempt key: /Users/[USER]/.ssh/id_dsa 
debug1: Will attempt key: /Users/[USER]/.ssh/id_ecdsa 
debug1: Will attempt key: /Users/[USER]/.ssh/id_ed25519 
debug1: Will attempt key: /Users/[USER]/.ssh/id_xmss 
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>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: [1] touchid-mac ECDSA SHA256:D2nlwjzZ/l7+0ruNCKJ2uTaVD2kkcRghhVW1MBCcpK0 agent
debug1: Authentications that can continue: publickey,password
debug1: Offering public key: /Users/[USER]/.ssh/id_rsa RSA SHA256:g5VEpqkXbAcFYTJwtLiIk+4f84Bshudqx9CXLEfo9rg
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /Users/[USER]/.ssh/id_dsa
debug1: Trying private key: /Users/[USER]/.ssh/id_ecdsa
debug1: Trying private key: /Users/[USER]/.ssh/id_ed25519
debug1: Trying private key: /Users/[USER]/.ssh/id_xmss
debug1: Next authentication method: password

答案1

检查/var/log/auth.log/var/log/authlog

就我而言,

Authentication refused: bad ownership or modes for directory /home/[USER]

然后我就跑了

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

现在它起作用了

答案2

你试过吗ssh-copy-id?首先执行这个命令:

ssh-copy-id user@server-ip

它会要求你输入密码。然后执行常规 SSH 命令:

ssh user@server-ip

相关内容