当前位置:网站首页 > 编程语言 > 正文

ssh免密登录详细步骤图(ssh免密登录的原理)



产生场景

对于需要远程管理其它机器,一般使用远程桌面或者telnet。linux一般只能是telnet。但是telnet的缺点是通信不加密,存在不安全因素,只适合内网访问。为解决这个问题,推出了通信加密通信协议,即SSH(Secure Shell)。使用非对称加密方式,传输内容使用rsa或者dsa加密,可以避免网络窃听。

算法分类

SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA、DSA等。

  • RSA:非对称加密算法,其安全性基于极其困难的大整数的分解(两个素数的乘积);
  • DSA:也是非对称加密算法,其安全性基于整数有限域离散对数难题;

原理与安全性

 
  

用途:

 
  

性能:

 
  

图解,server A免登录到server B: 1.在A上生成公钥私钥。

2.将公钥拷贝给server B,要重命名成authorized_keys(从英文名就知道含义了)

3.Server A向Server B发送一个连接请求。

4.Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用Server A的公钥加密,发送给Server A。

5.Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录。

总之:A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。对于非对称加密,公钥加密的密文不能公钥解开,只能私钥解开。

配置ssh免密码登录(三个节点master、slave1、slave2)

1. 主节点配置:

生成密钥

在机器的宿主目录下执行命令生成密钥

 
  

-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车

(使用rsa加密方式生成密钥)回车后,会提示三次输入信息,我们直接回车即可。

将会在家目录下的隐藏目录/.ssh下生成文件:

 
  

追加公钥

在master机器上,将id_rsa.pub的内容写入文件中

 
  

2. 从节点配置:

生成密钥

以 master 同样的方式, slave1, slav2 生产密钥。

3. 将次节点的公钥发送到主节点

在slave1机器上,将id_rsa.pub复制到master机器的/.ssh目录下,并重新命名位 id_rsa.pub.slave1:

 
  

复制文件的时候,由于还没有免密码登录的,所以要输入密码

在slave2机器上,将id_rsa.pub复制到master机器的/.ssh目录下,并重新命名位id_rsa.pub.slave2 :

 
  

复制文件的时候,由于还没有免密码登录的,所以要输入密码

4、追加次节点服务器的公钥至 authorized_keys 文件中

在master机器上,在/.ssh目录下将看到从slave1、slave2发送过来的文件:

 
  

将这两个公钥内容追加写入到master机器目录下的中:

5、确认公钥内容

在master机器上,查看authorized_keys文件内容,确认包含slave1、slave2机器的两个公钥内容:

 
  

6、发送authorized_keys

master机器上,将authorized_keys发送到slave1、slave2机器的/.ssh目录下:

 
  

复制文件的时候,由于还没有免密码登录的,所以要输入密码

7、修改authorized_keys文件权限

分别在master、slave1、slave2机器上执行,对auhorized_keys进行权限修改,否则将无法实现免密码登录:

 
  

authorized_keys的权限要是600。文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持。

8、SSH登陆测试

在master机器上,从master机器通过ssh登录到slave1,第一次需要密码,退出后以后登录就不需要密码了,其他机器类似操作

 
  

9.失败原因,有可能是以下原因:

1、权限问题

 
  

2、StrictModes问题

 
  
  • authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
  • id_rsa : 生成的私钥文件
  • id_rsa.pub : 生成的公钥文件
  • know_hosts : 已知的主机公钥清单

如果希望ssh公钥生效需满足至少下面两个条件:

  • .ssh目录的权限必须是700
  • .ssh/authorized_keys文件权限必须是600

查看ssh的登录日志

到此这篇ssh免密登录详细步骤图(ssh免密登录的原理)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就! 
  

                            

版权声明


相关文章:

  • 7400提示纸盒无纸(m7400提示纸盒无纸)2025-10-28 11:45:06
  • tp9930芯片规格书(tp3057芯片)2025-10-28 11:45:06
  • 条件变量例子(条件变量的实现)2025-10-28 11:45:06
  • win7虚拟机镜像文件下载后打不开(win7虚拟机镜像下载img)2025-10-28 11:45:06
  • 如何查看域名解析的ip(查看域名解析是否生效)2025-10-28 11:45:06
  • 手机定位无法获取定位是什么原因(手机定不了位无法获得位置信息)2025-10-28 11:45:06
  • yml文件颜色不对(yml文件用转义字符么)2025-10-28 11:45:06
  • 绿色代码(绿色代码是什么)2025-10-28 11:45:06
  • nettle怎么读(nettle怎么读英语)2025-10-28 11:45:06
  • 柯美c7000代码2453(柯美c7000代码2423)2025-10-28 11:45:06
  • 全屏图片