Linux配置ssh实现主机间的免密登录

目录

基于密钥的认证(publickey认证):

一、准备工作

二、登录我们主机1(client),并生成创建一对密钥

 三、进入/root/查看密钥

 四、

五、使用主机1去登录主机2(192.168.88.128)查看是否是免密登录

基于口令的认证(password认证) :


基于密钥的认证(publickey认证):

客户端产生一对公共密钥,将公钥保存到将要登录的服务器上的那个账号的家目录的.ssh/authorizedkeys文件中。认证阶段:客户端首先将公钥传给服务器端。服务器端收到公钥后会与本地该账号家目录下的authorizedkeys中的公钥进行对比,如果不相同,则认证失败;否则服务端生成一段随机字符串,并先后用客户端公钥和会话密钥对其加密,发送给客户端。客户端收到后将解密后的随机字符串用会话密钥发送给服务器。如果发回的字符串与服务器端之前生成的一样,则认证通过,否则,认证失败。
 

一、准备工作

1,需要启动两台Linux主机,并且有网络连接能够ping通

2,关闭防火墙,

查看防火墙状态:systemctl status firewalld

关闭防火墙:systemctl stop firewalld  

3:使用getenforce命令查看是否处于permitte状态, 可以通过setenforce=0命令修改为permitted状态

二、登录我们主机1(client),并生成创建一对密钥

生成密钥命令:ssh-keygen -t rsa      //即生成的密钥类型为rsa

Linux配置ssh实现主机间的免密登录_第1张图片

Enter file in:即生成密钥保存位置,默认的话是/root/.ssh/id_rsa这个文件里,这里我是选择的默认文件

Enter same passphrase:这东西就是在加个密码,二次加固,更安全了,如果嫌麻烦,直接回车跳过即可

The key fingerprint is:指纹信息

 三、进入/root/查看密钥

Linux配置ssh实现主机间的免密登录_第2张图片

 四、

(1)cp公钥至我们要免密登录的主机的/root/.ssh/authorized_keys文件中

[root@client ~]# scp /root/.ssh/id_rsa [email protected]:/root/.ssh/authorized_keys
/root/.ssh/id_rsa:就是我们主机1生成公钥的保存位置

(2)直接将公钥发送到主机2/root/.ssh/authorized_keys
[root@client ~]# ssh-copy-id -i [email protected]

192.168.88.130:主机1(client )的ip地址

192.168.88.128:主机2(server)的ip地址

五、使用主机1去登录主机2(192.168.88.128)查看是否是免密登录

Linux配置ssh实现主机间的免密登录_第3张图片

基于口令的认证(password认证) :

客户端向服务器发出password认证请求,将用户名和密码加密后发送给服务器,服务器将该信息解密后得到用户名和密码的明文,与设备上保存的用户名和密码进行比较,并返回认证成功或失败消息。

主机2 (server,192.168.88.128)向主机1(client , 192.168.88.130)实现免密登录

[root@server .ssh]# ssh [email protected] -p 22
 

 Linux配置ssh实现主机间的免密登录_第4张图片

你可能感兴趣的:(RHCE,linux,ssh,服务器)