为了配置免输入密码登录远程主机,需要执行以下几个步骤:
- 在本地机器上生成ssh key
在本地机器上执行以下命令:
ssh-keygen -t rsa
ssh-keygen是一个用于生成ssh key的命令。上述命令将生成一个默认名称为id_rsa的私钥(~/.ssh/id_rsa)和一个相应的公钥(~/.ssh/id_rsa.pub)。在生成ssh key时可以保留默认值,一路回车即可。
- 分发本地机器上的公钥到远程主机
在本地机器上执行以下命令:
ssh-copy-id user@remote-host
上述命令将把本地机器上的公钥复制到远程主机的~/.ssh/authorized_keys文件中。在此命令中,user是远程主机上的用户名,remote-host是远程主机的IP地址或主机名。如果你已经在远程主机上设置过SSH连接,则不需要执行此步骤。
- 测试免输入密码登录
现在,你应该能够通过以下命令直接登录到远程主机,无需输入密码:
ssh user@remote-host
上述命令中,user是远程主机上的用户名,remote-host是远程主机的IP地址或主机名。
示例1:在本地机器上生成ssh key并分发到远程主机
命令如下:
ssh-keygen -t rsa
ssh-copy-id user@remote-host
ssh user@remote-host
示例2:手工将本地机器上的公钥复制到远程主机的authorized_keys文件中
命令如下:
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub
然后,将上述命令输出的公钥复制到远程主机的~/.ssh/authorized_keys文件中,保存并退出。现在,你可以使用以下命令直接登录到远程主机,无需输入密码:
ssh user@remote-host
上述命令中,user是远程主机上的用户名,remote-host是远程主机的IP地址或主机名。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ssh(ssh-keygen)配置免输入密码登录远程主机的方法 - Python技术站