Linux通过主机名免密码建立互信

基本思路:

1.客户端免密码登陆服务端有密钥登陆和密码登陆两种方式,选择密钥登陆比较安全。
2.更改主机的名字并把对方的主机名和ip地址的对应关系设置到本机的DNS上。
3.先实现客户端无密码登陆到服务端,再实现服务端无密码登陆客户端。

Stepone:解决通过主机名称互联互通的问题

两台主机分别设置主机名为Trista和Zony,假设Trista是客户端,Zony是服务端。假设所使用的主机用户为root。
vi /etc/sysconfig/network

vi命令用于编辑文件

把Trista主机上把Zony的主机名和ip地址加到本机的DNS上
vi /etc/hosts
执行ping master确保能ping通,验证上一步做的配置是正确的。

Steptwo:实现客户端通过密钥无密码登陆服务端

在客户端生成密钥对
ssh-keygen -t rsa

一直回车,就会按照默认的选项将生成的私钥保存在~/.ssh/id_rsa文件中,生成的公钥保存在~/.ssh/id_rsa.pub中。

将客户端生成的公钥传输到服务端的家目录下
scp -P 远程ssh服务端口 ~/.ssh/id_rsa.pub root@Zony:~/
登陆服务端,把客户端发送过去的公钥追加到授权列表authorized_keys当中。

此时登陆服务端需要密码,因为还没有建立密钥登陆。

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
登陆验证密钥配置的准确性,由客户端直接登陆服务端,查看是否可以无密码登陆。
sshd -p 远程ssh服务端口 root@Zony

Stepthree:实现服务端通过密钥无密码登陆客户端

过程同Steptwo。

在服务端生成密钥对
ssh-keygen -t rsa

一直回车,就会按照默认的选项将生成的私钥保存在~/.ssh/id_rsa文件中,生成的公钥保存在~/.ssh/id_rsa.pub中。

将服务端生成的公钥传输到客户端的家目录下
scp -P 远程ssh服务端口 ~/.ssh/id_rsa.pub root@Trista:~/
登陆客户端,把服务端发送过去的公钥追加到授权列表authorized_keys当中。

此时登陆客户端需要密码,因为还没有建立密钥登陆。

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
登陆验证密钥配置的准确性,由服务端直接登陆客户端,查看是否可以无密码登陆。
sshd -p 远程ssh服务端口 root@Trista

如有错误,欢迎评论区指教。

你可能感兴趣的:(linux学习笔记)