写出linux主机之间ssh免密登录过程
时间: 2023-08-24 13:51:08 浏览: 102
在Linux主机之间实现SSH免密登录的过程如下:
1. 在本地主机上生成SSH密钥对(公钥和私钥),如果已经存在密钥对,请跳过此步骤。使用以下命令生成密钥对:
```shell
ssh-keygen -t rsa
```
按照提示,选择密钥存储位置和设置密码(可选)。默认情况下,公钥和私钥将存储在`~/.ssh`目录中。
2. 将本地主机的公钥复制到远程主机上。使用以下命令将公钥复制到远程主机:
```shell
ssh-copy-id user@remote_host
```
将`user`替换为远程主机上的用户名,`remote_host`替换为远程主机的IP地址或域名。执行此命令后,您需要输入远程主机的密码。
如果`ssh-copy-id`命令不可用,您可以手动将公钥内容复制到远程主机的`~/.ssh/authorized_keys`文件中。使用以下命令将公钥内容复制到远程主机:
```shell
cat ~/.ssh/id_rsa.pub | ssh user@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
```
同样,将`user`替换为远程主机上的用户名,`remote_host`替换为远程主机的IP地址或域名。
3. 验证免密登录是否成功。使用以下命令连接到远程主机:
```shell
ssh user@remote_host
```
这次连接不应再要求输入密码,而是直接登录到远程主机。
完成上述步骤后,您应该能够在本地主机上无需密码连接到远程主机。请注意,这需要在本地和远程主机之间具有网络连通性,并且远程主机必须允许使用SSH密钥进行身份验证。