SSH免密登录配置

1、SSH概念

       SSH为Secure Shell(安全外壳协议)的缩写,简单说,SSH只是一种网络协议,用于计算机之间的加密登录,很多ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而SSH就是专为远程登录会话和其他网络服务提供安全性的协议。

SSH是由客户端和服务端的软件组成的

        服务端是一个守护进程(sshd),他在后台运行并响应来自客户端的连接请求。

       客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。

         

2、SSH认证机制

从客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于口令的安全验证)

       只要你知道自己帐号和口令,就可以登录到远程主机。

第二种级别(基于密钥的安全验证)

        需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密”质询”(challenge)并把它发送给客户端软件。客户端软件收到”质询”之后就可以用你的私人密匙解密再把它发送给服务器。

原理图:

3、配置SSH认证机制

假如A要登录B:

  在A上进行操作:

  1. 首先生成密钥对,使用命令:

ssh-keygen

或者

ssh-keygen -t rsa

上面一种是它的简写形式,提示要输入信息的时候不用输入任何东西,直接回车三次就OK

上述命令执行完成之后,会生成这么两个文件,其中id_rsa.pub是公钥

2.将A自己的公钥放置到授权列表文件authorized_keys中

cat id_rsa.pub > authorized_keys

或者

cp id_rsa.pub authorized_keys

3.将得到的authorized_keys发送给B机器对应的文件夹下
scp -r authorized_keys root@192.168.123.202:$PWD

或者

scp -r authorized_keys root@192.168.123.202:/root/.ssh/

这是一个远程拷贝命令,意思是把authorized_keys拷贝到192.168.123.202这台机器对应目录下

4.这样我们的机器A就能访问到机器B了。验证方法使用命令:

 ssh 192.168.123.202

重点理解之处:A将公钥发给B,不是B可以访问A,而是A可以访问B,所以任何一台机器想要能访问其他机器,那么就把自己的公钥内容发送到别的机器的authorized_keys中去,记住,是追加,不是覆盖

 

 

 

 

 

 

  

  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值