三步建立ssh 免密登录(单向信任)

首先我们要了解一下什么是ssh --> secure shell --> 安全外壳协议:用一个壳将里面的数据包裹起来进行加密 。

SSH为建立在应用层基础上的安全协议,SSH是比较可靠,专为远程登录会话和其他网络服务提供安全性的协议。主要在Linux Uni HP-UX等上面使用。
ssh服务的端口:22 tcp 公钥技术(非对称加密)

ssh是基于公钥加密(非对称加密)技术
  1.数据加密传输
  2.客户端和服务器的身份验证

 公钥和私钥是成对生成的

密钥的两个用途: 1.数据加密
  2.数字签名:身份识别  证明

一、准备两台虚拟机,一台做服务器,一台做客户端

我这里客户端Aip为192.168.0.104:22

           服务器B为 192.168.0.57:22

下面是在客户端生成公私钥


root@localhost ~]# cd /etc/ssh
[root@localhost ssh]# ls
moduli       ssh_host_ecdsa_key      ssh_host_ed25519_key.pub
ssh_config   ssh_host_ecdsa_key.pub  
sshd_config  ssh_host_ed25519_key 

#   ssh_host_ecdsa_key 私钥 ssh_host_ecdsa_key.pub 公钥

二、将公钥发送给B服务器

   查看生成的公钥密文

# -p可以指定端口号 192.168.0.57为B服务器ip
[root@localhost .ssh]# ssh-copy-id -i id_ecdsa.pub [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_ecdsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 
#输入B服务器密码

 三、免密登陆

直接登陆不需要密码则成功免密登陆了

# -p指定端口号
[root@localhost .ssh]# ssh 192.168.0.57
Last failed login: Mon Jul 13 17:07:52 CST 2020 from 192.168.0.57 on ssh:notty
There were 4 failed login attempts since the last successful login.
Last login: Mon Jul 13 17:02:38 2020 from 192.168.0.104

如果没有成功免密登陆可以查看传送的公钥有没有传输错误

[root@localhost .ssh]# cat id_ecdsa.pub 
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMFEwpVa3pS/ornaE8JJkEeLr/UE0ImHeJF+T5Moh2tpuDxA7crPuSQ8s1tqZ/bQ9OvMom1H/vI7OOQ+znjCNQA= [email protected]

对比一下A客户端的密文是否一致

(将客户端和服务器操作转换再次建立可以建立双向信任)

猜你喜欢

转载自blog.csdn.net/wsy_miao/article/details/107323362