我最近在大学远程服务器上生成了密钥值对,以创建 .ssh 目录,然后我将笔记本电脑上 .ssh 目录中 .pub 文件的内容复制粘贴到大学远程服务器上的 authorized_keys 文件中。我现在仍然需要输入密码,为什么这样?
答案1
通常私钥受密码保护。这与您的正常登录密码不同,但您可能为两者选择了相同的值。
如果你不想为每个连接输入密码,你有两个选择
- 安全:使用笔记本电脑上的 SSH 身份验证代理。
- 不安全:从私钥中删除密码。
如果您的密码为空,但仍提示您输入登录密码,则可能是因为公钥认证失败。打开 ssh 客户端 ( ssh -v
) 中的日志记录并检查服务器的 sshd 日志。
如果您在服务器上生成了密钥对,则您不会将公钥从笔记本电脑复制到服务器,因为该文件是在服务器上生成的,而不是在笔记本电脑上。
无论你在哪里生成密钥,你都需要将私钥放在笔记本电脑上,并且按照 SSH 客户端软件要求的位置和格式进行操作(例如,PuTTY ssh 客户端使用的格式与 OpenSSH ssh 客户端不同)。你需要将公钥以 OpenSSH 格式放在服务器上,并放在具有所有者权限的相应 ~/.ssh/authorized_keys 文件中