新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

linux免密登录ssh失败怎么解决,linux免密登录ssh 不生效

发布时间:2023-09-11 08:39:13

linux免密登录ssh失败怎样解决

要在Linux上实现免密登录SSH,需要完成以下步骤:
1. 生成SSH密钥对:在本地机器上履行以下命令生成SSH密钥对:
```
ssh-keygen -t rsa
```
这将生成id_rsa(私钥)和id_rsa.pub(公钥)两个文件。
2. 将公钥复制到远程服务器:使用ssh-copy-id命令将公钥复制到目标服务器上的authorized_keys文件中。例如,如果要将公钥复制到目标服务器的用户名为user的主目录下,请履行以下命令:
```
ssh-copy-id user@remote_server_ip
```
输入远程服务器的密码后,公钥将被复制到目标服务器上。
3. 配置SSH免密登录:在远程服务器上,确保SSH配置文件(/etc/ssh/sshd_config)中的以下设置正确:
```
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
```
确保这些设置没有被注释掉,并且值为"Yes"。
4. 重新启动SSH服务:在远程服务器上履行以下命令以重新启动SSH服务:
```
sudo service ssh restart
```
如果你依然没法实现免密登录SSH,请确保履行了上述步骤,并检查以下问题:
- 键对是否是正确生成:确保在本地机器上生成的公钥和私钥文件(id_rsa和id_rsa.pub)位于~/.ssh/目录下。
- 公钥是否是正确复制到目标服务器:确保使用ssh-copy-id命令将公钥复制到目标服务器上的正确位置(通常是目标服务器上的~/.ssh/authorized_keys文件)。
- 目标服务器的SSH配置是否是正确:确保目标服务器的SSH配置文件(/etc/ssh/sshd_config)中的设置正确,特别是RSAAuthentication、PubkeyAuthentication和AuthorizedKeysFile设置。
- SSH服务是否是已重新启动:确保在对目标服务器的SSH配置进行更改后,重新启动了SSH服务。
如果问题依然存在,你可以尝试查看目标服务器上的/var/log/auth.log文件以获得更多的毛病信息,以帮助你进一步解决问题。