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 //创建密钥对
扫描二维码关注公众号,回复: 2204650 查看本文章 - 上传导入公钥文件信息。
[lisi@reh6-2 .ssh]$ ssh-copy-id id_rsa.pub [email protected] //公钥上传到SSH服务器
- 在客户端使用密钥验证
[lisi@reh6-2 .ssh]$ ssh [email protected]
总结:
- 公钥和私钥位置在用户各自的家目录当中是隐藏文件(.ssh),可以用ls -a查看。
- 当ssh客户端和ssh服务器进行关联后, 每次验证不用输入用户登陆密码,只需输入密钥即可登陆,加强了系统的安全。