linux实现ssh免密登录
时间: 2023-08-24 14:07:07 浏览: 122
要在Linux上实现SSH免密登录,你可以按照以下步骤进行操作:
1. 生成SSH密钥对:在本地计算机上打开终端,并运行以下命令生成密钥对:
```
ssh-keygen -t rsa
```
这将生成一个RSA密钥对,包括公钥和私钥。你可以选择使用默认的密钥保存路径和文件名,或者根据需要进行自定义。
2. 将公钥复制到目标服务器:将公钥复制到你希望免密登录的目标服务器上。可以使用以下命令将公钥复制到远程服务器:
```
ssh-copy-id username@remote_host
```
替换 `username` 为你的目标服务器用户名,`remote_host` 为目标服务器的IP地址或域名。
如果 `ssh-copy-id` 命令不可用,你可以手动复制公钥文件的内容到目标服务器的 `~/.ssh/authorized_keys` 文件中。
3. 配置SSH服务器:确保目标服务器上的SSH服务器已正确配置以允许密钥登录。打开目标服务器上的SSH配置文件 `/etc/ssh/sshd_config`:
```
sudo vi /etc/ssh/sshd_config
```
确保以下配置项被启用:
```
PubkeyAuthentication yes
PasswordAuthentication no
```
4. 重新启动SSH服务:保存并关闭SSH配置文件后,使用以下命令重新启动SSH服务:
```
sudo service ssh restart
```
或者,如果你的系统使用 `systemd`,可以使用以下命令:
```
sudo systemctl restart sshd
5. 测试免密登录:现在,你可以尝试使用SSH连接到目标服务器,如果一切设置正确,你应该无需输入密码即可成功登录:
```
ssh username@remote_host
```
替换 `username` 为你的目标服务器用户名,`remote_host` 为目标服务器的IP地址或域名。
这样,你就成功实现了在Linux上的SSH免密登录。请记得保护好私钥文件,不要泄露给他人,以确保系统的安全性。
阅读全文