SSL设置免密登录

来源:互联网 发布:vscode安装插件 编辑:程序博客网 时间:2024/05/22 01:24

一:SSL基本介绍

ssh是secure shell的缩写,是建立在应用层和传输层基础上的安全协议,专为远程登录会话和其他网络服务提供安全性的协议。利用ssh协议可以有效地防止远程管理过程中的信息泄露问题。使用ssh之后,可以把所有传输的数据加密,避免中间人攻击,也能够繁殖DNS欺骗和ip欺骗,有个额外的好处是传输的数据是经过压缩的,可以加快传输速度。

二:SSL提供两种级别的安全验证

第一种:基于口令的安全验证

只要知道一台机器的账号和口令就可以登录到远程主机,传输的内容会被加密,但是不能保证正在连接的服务器就是你想要连接的服务器。即会受到中间人攻击。

第二种:基于密匙的安全验证

需要依靠密匙,就是需要为自己创建一对密匙,并将公共的密匙放在需要访问的服务器上。如果你要连接到该服务器,客户端软件会向服务器发送请求,请求用你的密匙进行安全验证。服务器收到请求后比较你发送的密匙和你放在服务器上的密匙。如能够果两个密匙一致,服务器就用公用密匙加密“质询”并发送给客户端软件,客户端软件收到质询后可以用私人密匙解密,再将其发送给服务器。

三、Linux环境下设置ssh免密码登录

说明:

1、环境:三台虚拟机系统 centos6.5(都已安装ssh),主机名分别为:a、 b、 c,三台主机上的用户皆为y
2、目标:使这三台主机实现自身及相互之间的ssh免密码登录
3、思路:为三台主机分别生成一对密匙,并将每台主机的密匙发送到其他两台主机。

具体步骤

1、使自身能免密码登录自身
(1)在普通用户下操作:在~/.ssh目录下生成一对密匙

cd ~/.sshssh-keygen -t rsa

说明:输入该命令后会有提示,一直回车即可
(2)将公共密匙保存到authorized_keys文件中,实现对自身免密码登录

cat id_rsa.pub >> authorized_keys

(3)修改权限(需要修改~/.ssh文件夹和authorized_keys文件的,不然会报不允许的错误或者无法出现know_hosts文件)

chmod 700 ~/.sshchmod 700 ~/.ssh/authorized_keys

(4)修改SSH配置文件——“etc/ssh/sshd_config”
打开文件

vim /etc/ssh/sshd_config

将以下三句话的注释去掉

RSAAuthentication yes # 启用 RSA 认证PubkeyAuthentication yes # 启用公钥私钥配对认证方式AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件相同)

(5)重启SSH(在root用户下操作)

service sshd restart

(6)免密登录本机(假设本机为a)

ssh a

发现可以免密码登录。
三台主机都进行前6步的操作。

2、使一台主机能免密码登录另一台

说明:此处以a免密码登录b为例
(1)将a的公共密匙发送给b
在a的终端输入命令:

scp ~/.ssh/id_rsa.pub y@b:~/

在b的~目录下会有id_rsa.pub
(2)b将其密匙存放到自己的authorized_keys文件中。
在b的~目录下输入命令:

cat id_rsa.pub >> ~/.ssh/authorized_keys

(3)b删除a发来的文件

rm id_rsa.pub

(4)在a上测试是否可以免密码登录b

ssh b

说明:其他的同理

0 0