我正在尝试为gcloud实例设置一个新的ssh密钥。我按照这里的说明逐字(https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys),生成一个新密钥,将公共rsa-ssh密钥与我的用户名放在Google Cloud Platform界面的Metadata选项卡的SSH Keys部分,并设置相应的权限使用chmod我的公钥和私钥。
当尝试使用-vvv verbose标志时,我收到的错误如下所示:
...
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/erickofman/.ssh/salsadb
debug3: send_pubkey_test
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.
Permission denied (publickey).
我(与同事一起)确保我的公钥包含在服务器的.ssh文件夹中的authorized_keys文件中。考虑到某些事情可能只是陈旧,我还尝试使用service sshd restart
重启ssh服务器无济于事。
我也尝试使用gcloud工具设置ssh,结果相同。
我能从中得到正确的网站角色/权限。
这就是服务器端日志的样子:
admin@awesome-website:~$ tail /var/log/auth.log
Nov 15 20:40:16 awesome-website sshd[18846]: input_userauth_request: invalid user ekofman [preauth]
Nov 15 20:40:17 awesome-website sshd[18846]: Connection closed by 10.100.100.10 port 90001 [preauth]
Nov 15 20:41:17 awesome-website sshd[18848]: Connection closed by 200.200.20.20 port 90002 [preauth]
一直在敲我的头,对任何帮助都非常感激!
答案 0 :(得分:3)
Whelp,事实证明,除非重启完整实例,否则不会合并新的ssh密钥。 不是ssh服务器重启,而是重启完整实例(停止gcloud实例,然后启动gcloud实例)。它没有在文档中说明这一点,很高兴知道以备将来参考。
答案 1 :(得分:0)
按this确保您您用户的目录中的.ssh / authorized_keys。
您还希望确保.ssh目录和authorized_keys具有适当的权限集。 (分别为700和600)。
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys