使用公钥进行 ssh

使用公钥进行 ssh

我有一台全新的 ubuntu 20.04 云服务器,无法使用公钥/私钥身份验证通过 ssh 访问该机器

这是我的配置

  • /etc/ssh/sshd_config遥控器上有以下选项
Include /etc/ssh/sshd_config.d/*.conf
PermitRootLogin no
PubkeyAuthentication yes
AllowUsers [username]
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
x11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
  • 远程文件/home/[username]./ssh/autorized_keys上有我的公钥副本

  • 我的本地机器上~/.ssh/known_hosts有一个远程服务器的条目(在仍允许 PasswordAuthentication 时创建

Permission denied (publickey)当我尝试时,我仍然得到ssh -i ~/.ssh/id_rsa [username]@135.181.xx.yy

有人能指出我明显犯的错误吗?我似乎找不到类似的例子。实际上,该设置与另一台 18.04 服务器相同,它们运行良好。

答案1

到目前为止看起来不错。我有一个类似的设置:

我的服务器上有该authorized_keys文件,known_hosts 文件在本地。

我创建了文件:~/.ssh/config其内容如下:

Host mycloud
  IdentityFile ~/.ssh/id_rsa

通过这种组合,我可以像这样登录:

ssh username@mycloud

如果您的主机上没有该配置文件,您需要像这样登录:(它将复制您的公钥)

ssh-copy-id -i .ssh/id_rsa.pub username@mycloud

如果您的服务器在云端,那么这将无法立即使用。我必须在我的服务器上更改以下内容/etc/ssh/sshd_config:

PasswordAuthentication no

Match User anotherUser
    PasswordAuthentication yes
Match all

这意味着还有“另一个用户”仍可以使用密码登录。对于所有其他用户,公共/私有文件身份验证均已激活

相关内容