我在 vmware 工作站上安装了 Ubuntu 服务器 20.04,并尝试在不使用密码的情况下连接它,在文件中/etc/ssh/sshd_config
我更改了
'密码验证 =否
做了“**
sudo systemctl ssh 重启”
** '通过 ssh-keygen 生成密钥,将密钥复制到我的记事本中,并将其保存为密钥文件 当我使用 keygen 上传密钥时,出现了这个弹出窗口 <
不支持的身份验证方法(服务器发送:公钥)
因此,我必须再次输入密码才能不失去服务器访问权限,如果有人可以指导我的话请!
答案1
默认sshd_config
文件已启用公钥身份验证。因此,一旦您通过设置PasswordAuthentication
为禁用密码身份验证no
,SSH 服务器将自动使用公钥身份验证。
如果你在使用生成密钥对时没有更改它ssh-keygen
,那么私钥和公钥都可以在你的主文件夹中找到~/.ssh
你需要转换私钥(没有扩展名的那个.pub
)放入一个.ppk
文件中(你不能简单地重命名它)。按照https://www.dmit.io/index.php?rp=/knowledgebase/10/How-to-convert-RSA-Private-Key-to-Putty-Private-Key-ppk.html这样做。(该页面显示“用于 WinSCP”,但 WinSCP 和 PuTTY 共享相同的.ppk
密钥格式)
在 (Windows) 客户端上,您还需要运行 PuTTY SSH 代理,并将文件加载key.ppk
到 SSH 代理中。SSH 代理应该已经与 PuTTY 一起安装(您可以在“开始”菜单中找到它的快捷方式),但如果您找不到它,请打开 Windows 资源管理器并导航到安装 PuTTY 的文件夹。SSH 代理可执行文件名为pageant.exe
,执行后,您可以从系统托盘(桌面右下角,靠近时钟)访问它。