我正在尝试设置无密码 SSH 登录,但似乎无法使其工作。这是我到目前为止所做的:
ssh-keygen -t rsa
生成一对密钥~/.ssh/authorized_keys
并将公钥转储到该文件中chmod 700 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
当我尝试使用私钥登录时,我得到以下输出ssh -vvv
:
debug1: Next authentication method: publickey
debug1: Trying private key: /path/to/private-key
debug1: read PEM private key done: type RSA
debug3: sign_and_send_pubkey: RSA [KEY_FINGERPRINT_HERE]
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: password,publickey
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
Run Code Online (Sandbox Code Playgroud)
我很确定服务器正在运行 FreeBSD,但它不是我的,而且我没有 root 访问权限。知道这里出了什么问题或者我可以尝试什么来让它工作吗?
好吧,这个问题的“解决方案”最终与主持人有关。该服务器由一家名为 HybridCluster 的公司运营。我仍然不确定为什么,但为了在他们的服务器上使用公钥身份验证,必须通过其控制面板界面将公钥添加到文件中,而不是手动添加到~/.ssh/authorized_keys
文件中。
我认为这与他们动态切换硬件有关,因此主机指纹发生变化,导致密钥被拒绝,但我真的不能肯定。
不管怎样,感谢所有提供帮助的人,希望这能帮助将来一些可怜的 HybridCluster 用户。