码迷,mamicode.com
首页 > 系统相关 > 详细

Linux-SSH之免密码登陆

时间:2017-11-25 00:57:07      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:应用   pen   ges   登陆   roo   验证方式   使用   root   pre   

原理

在传统的SSH身份认证过程中,服务端(被动连接端)通过校验客户端(主动连接端)发送的用户名和密码来实现用户身份的验证。服务端除了用户名和密码的验证方式外,还可以通过保存并使用客户端的公钥(可以理解为PKI体系中的公钥)来验证客户端的身份。

技术分享图片

know_hosts:存储已知服务器的公钥信息。

authorized_keys:存储已知客户端的公钥信息。

id_rsa.pub:存储公钥信息。

id_rsa:存储私钥信息。

其中:

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

验证过程:

  1. 在客户端登陆前,客户端将公钥放在待登陆的服务器上。
  2. 客户端向服务器端发送公钥信息,申请以指定用户身份验证。
  3. 服务器端寻找对应用户家目录家目录下寻找公钥。
  4. 服务器端使用找到的公钥加密数据并发送给客户端。
  5. 客户端使用自己的私钥解密,而后将其发送给服务器端。
  6. 服务器端验证前后消息是否一致,以便确认用户身份。

环境

  • CentOS7_x86_64
  • Windows10
  • XShell
  • OpenSSH

步骤

1.生成非对称密钥对。

1 #生成SSH使用的公钥和私钥只用户家目录下的.ssh目录下
2 ssh-keygen -t rsa

 

2.创建authorized_keys文件。

1 #创建.authorized_keys文件
2 touch authorized_keys
3 #修改文件权限信息
4 chmod 600 authorized_keys

 

3.将客户端的公钥信息追加到服务器端的authorized_keys文件中。

1 #拷贝公钥信息至authorized_keys文件
2 ssh-copy-id -i ~/.ssh/id_rsa.pub
3 
4 scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys
5 
6 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

Linux-SSH之免密码登陆

标签:应用   pen   ges   登陆   roo   验证方式   使用   root   pre   

原文地址:http://www.cnblogs.com/qhdxqxx/p/7881872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!