我最近想在我的服务器 (Debian stretch) 上使用 ssh-keys 而不是密码。我在 Windows 上使用 ubuntu 子系统(以防万一)。
我正在关注这个帖子的最佳答案: 将 ssh 密钥复制到另一台机器的最简单方法是什么?
我做了以下事情:
- 创建密钥并将
ssh-keygen
其保存在.ssh/xxx.pub
ssh-copy-id -i .ssh/xxx.pub [email protected]
完成此步骤后我收到以下消息:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/xxx.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
Number of key(s) added: 1
我甚至检查了下面的服务器~/.ssh/authorized_keys
是否有密钥。
但是当我尝试通过以下方式连接到服务器时:
ssh [email protected]
我必须用密码登录。
有人知道为什么这不起作用吗?
答案1
好的,所以我必须用“-i”指定我想要使用的密钥
例如
ssh -i ~/.ssh/mykey [email protected]
编辑:您还可以添加一个配置文件~/.ssh/config
并添加以下代码
host * IdentityFile ~/.ssh/mykey
那么你就不必使用-i ...
参数