SSH无密码登录的原理及配置

是昨天的东西,客户需要在本地搭建linux服务器,使用cygwin软件需要和项目镜像路径保持一致。从D盘转移到C盘,这其实相当于重装了系统。需要更新登陆密钥。

这里我需要复习一下ssh无密码登陆的原理和模式。

SSH(Secure Shell)概念,建立在应用层的基础上的安全协议,是目前转为远程登陆会话和其他网络服务提供安全性的协议。可以有效防止远程管理过程中的信息泄露问题。

ssh有两种级别的安全验证
1.基于口令的安全验证
只要知道你自己的账号和口令,就可以登录到远程主机。所有传输的数据都会被加密,不保证正在连接的服务器就是你希望连接的服务器。可能会有别的服务器在冒充真正的服务器(中间人 方式攻击)
2.基于密钥的安全验证
需要依靠密钥,必须为其创建一对密匙,冰雹公用密匙放在需要访问的服务器上。

如果要连接到ssh服务器,客户端软件向服务器发送请求,请求用你的密匙进行验证。
收到请求之后,现在该服务器上你的主目录下寻找你的公用密匙,然后他和你发送过来的公用密匙进行比较。
若一致,服务器用公用密匙加密 质询(challenge)并发送给客户端;客户端收到质询后就可以用私人密匙解密再次发送给服务器。(完成一次信息传输)

与第一种级别相比,第二种级别不需要在网络上传送口令。

ssh密钥验证机制

ssh远程登陆密钥验证授权机制

ssh远程登陆授权机制

ssh无密码验证登陆配置

配置主机A免密登录到主机B(方法一)
1.在主机A生产密钥对:

ssh-keygen -t rsa

会在.ssh目录下产生密钥文件
2.拷贝主机A的公钥到主机B:

scp id_rsa.pub

3.将主机A的公钥加到主机B的授权列表

.ssh/authorized_keys

(若不存在,手动创建):

cat id_rsa.pub >> authorized_keys

4.授权列表authorized_keys的权限必须是600,

chmod 600 authorized_keys

(方法二)
#进入到我的home目录

cd ~/.ssh
hehe
ssh-keygen -t rsa

执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
      将公钥拷贝到要免登陆的机器上: scp etc

ssh-copy-id localhost

参考:
https://www.cnblogs.com/konrad/p/6901273.html

大概原理就是这样,操作稍稍有点区别。

以后有钱了,买个云主机多试试吧。

猜你喜欢

转载自blog.csdn.net/u010887126/article/details/80101688
今日推荐