您的位置:首页 > 其它

SSH服务远程访问及控制(2.基于密钥的安全验证)

2018-07-17 22:27 801 查看

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定。

SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH协议可以有效防止远程管理过程中的信息泄露问题

基于密钥的安全验证

大大增强了远程管理的安全性。远程登陆时,系统将是用公钥、密钥进行加密、解密关联验证,大大增强了远程管理的安全性。

公钥和密钥的关系:

公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密。

不能根据一个密钥来推算出另一个密钥。

公钥对外公开,私钥只有私钥的持有人才知道。

环境部署:

linux(redhat6.5)2台

客户机ip地址192.168.100.88

服务器ip地址192.168.100.66

实验目的:

密钥对验证,核对客户端的私钥和服务器的公钥是否匹配,当客户端用户和服务器用户关联后,每次在客户机远程登陆服务器用户,只有输入密钥才能登陆。

服务器配置:

1.关闭防火墙和selinux。

[root@redhat ~]# service iptables stop      //关闭防火墙
[root@redhat ~]# setenforce 0     关闭selinux

2.. 编辑主配置文件sshd_config

[root@redhat ~]# vim /etc/ssh/sshd_config




3.创建用户zhangsan,加入wheel组,pam认证。

[root@redhat ~]# useradd zhangsan    //创建用户zhangsan
[root@redhat ~]# echo "123123" | passwd --stdin zhangsan   //密码设定
[root@redhat ~]# gpasswd -a zhangsan wheel   //指定zhangsan用户到wheel组
[root@redhat ~]# vim /etc/pam.d/su    //开启pam认证




4.. 重启ssh服务

[root@redhat ~]# service sshd restart

客户端配置:

关闭防火墙和selinux
[root@reh6-2 ~]# service iptables stop
[root@reh6-2 ~]# setenforce 0


创建用户lisi,且lisi用户创建密钥对。
[root@reh6-2 ~]# useradd lisi    //创建用户lisi
[root@reh6-2 ~]# echo "123123" | passwd --stdin lisi   //密码设定
[root@reh6-2 ~]# su - lisi   //切换用户
[lisi@reh6-2 ~]$ ssh-keygen -t rsa    //创建密钥对




上传导入公钥文件信息。
[lisi@reh6-2 .ssh]$ ssh-copy-id id_rsa.pub zhangsan@192.168.100.66   //公钥上传到SSH服务器




在客户端使用密钥验证
[lisi@reh6-2 .ssh]$ ssh zhangsan@192.168.100.66




总结:

公钥和私钥位置在用户各自的家目录当中是隐藏文件(.ssh),可以用ls -a查看。

当ssh客户端和ssh服务器进行关联后, 每次验证不用输入用户登陆密码,只需输入密钥即可登陆,加强了系统的安全。
3.之前有详细的密码验证请看:ssh密码安全验证
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SSH 服务 密钥