1. 使用ssh建立连接
首先,要在两台Linux系统之间建立信任关系,可以使用ssh工具进行连接。
在第一台Linux系统上,运行以下命令生成密钥对:
ssh-keygen -t rsa
生成的密钥对默认存储在用户家目录的.ssh文件夹下。
然后,使用ssh将公钥复制到第二台Linux系统上的~/.ssh/authorized_keys文件中:
ssh-copy-id username@remote_host
其中,username是远程系统的用户名,remote_host是远程系统的IP地址或主机名。
该命令会要求输入远程系统的密码,输入后会将公钥复制到远程系统中。
2. 配置ssh设置
2.1 确保ssh已安装和运行
在两台Linux系统上,确保ssh服务已经安装并正在运行。
2.2 修改ssh配置文件
使用以下命令打开ssh配置文件:
sudo vi /etc/ssh/sshd_config
找到以下几行配置并进行修改:
PermitRootLogin no
PasswordAuthentication yes
修改为:
PermitRootLogin yes
PasswordAuthentication no
保存并退出ssh配置文件。
2.3 重启ssh服务
使用以下命令重启ssh服务:
sudo systemctl restart sshd
3. 配置防火墙规则
如果Linux系统上启用了防火墙,需要配置防火墙规则允许ssh连接。
使用以下命令查看防火墙状态:
sudo firewall-cmd --state
如果防火墙处于运行状态,可以使用以下命令开放ssh端口:
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
sudo firewall-cmd --reload
其中,22是ssh默认使用的端口。
4. 测试连接
现在,可以尝试使用ssh连接到远程系统,无需密码即可登录。
在第一台Linux系统上,运行以下命令:
ssh username@remote_host
其中,username是远程系统的用户名,remote_host是远程系统的IP地址或主机名。
如果一切设置正确,应该能够成功连接到远程系统。
5. 额外的配置
要实现互相信任的配置,还可以进行以下额外的配置:
5.1 禁用密码登录
在第二台Linux系统上,将PasswordAuthentication的值修改为no,可以禁用密码登录,只允许使用密钥登录。
使用以下命令打开ssh配置文件:
sudo vi /etc/ssh/sshd_config
找到以下行并修改:
PasswordAuthentication yes
修改为:
PasswordAuthentication no
保存并退出ssh配置文件,然后重启ssh服务。
sudo systemctl restart sshd
5.2 更改密钥对
如果需要重新生成密钥对,可以使用以下命令:
ssh-keygen -t rsa
然后,将新生成的公钥复制到另一台Linux系统中的authorized_keys文件中。
总结
通过以上步骤,可以在Linux系统中配置互相信任的连接,实现无密码登录。
首先,使用ssh-keygen命令生成密钥对,并将公钥复制到远程系统中。
然后,需要修改ssh配置文件和防火墙规则,确保ssh服务和端口可访问。
最后,测试连接,验证配置是否生效。
通过禁用密码登录和更改密钥对,可以进一步增强连接的安全性。