Tro*_*oy 26 ssh key-authentication
我正在尝试采用更简化的方法来建立与远程服务器的 SSH 客户端连接。我创建了一个公钥/私钥对,并用于ssh-copy-id将公钥安装到远程服务器上。
但是,它仍然要求输入密码,除非我将身份文件的路径放入类似ssh -i ~/.ssh/mykey user@host. 我是否必须输入此内容才能通过公钥身份验证绕过密码?
为了绕过这个,我.bashrc使用这个路径创建了一个别名。然而,这是做到这一点的方式吗?或者这只是服务器允许公钥的问题,所以我可以使用通常的ssh user@host?
Dop*_*oti 38
如果您能够成功地将密钥对身份验证与 一起使用ssh -i ~/.ssh/mykey user@host,则可以通过 SSH 客户端配置轻松实现自动化。
例如,如果您将其添加到您的~/.ssh/config文件中:
Host hostname
User username
IdentityFile ~/.ssh/mykey
IdentitiesOnly yes # see comment in answer below
Run Code Online (Sandbox Code Playgroud)
然后你可以简单地ssh hostname,你的用户名和身份文件设置将由你的config文件处理,你就可以参加比赛了,正如他们所说。
该IdentityFile指令(-i用于ssh覆盖的开关)有一个默认设置,它将查找~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519, 和~/.ssh/id_rsa; 私钥的任何其他文件名必须在config文件中或-i在命令行中指定。
如果您将 IdentityFile 添加到 ssh 配置中,您会发现客户端仍然发送默认密钥(请参阅 ssh -vv 输出)。当使用具有多个帐户的 github 等站点时,这可能会出现问题。如果您希望 ssh 仅使用您指定的密钥,则需要包含“IdentitiesOnly yes”。
| 归档时间: |
|
| 查看次数: |
67640 次 |
| 最近记录: |