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

发布时间:2024年01月11日

目录

基于密钥的认证(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

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

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

The key fingerprint is:指纹信息

?三、进入/root/查看密钥

?四、

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

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

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

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

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

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

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

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

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

[root@server .ssh]# ssh root@192.168.88.130 -p 22
?

?

文章来源:https://blog.csdn.net/miss_copper/article/details/135515964
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。