我有一台全新的 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
这意味着还有“另一个用户”仍可以使用密码登录。对于所有其他用户,公共/私有文件身份验证均已激活