SSH服务远程访问及控制(2.基于密钥的安全验证)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH服务远程访问及控制(2.基于密钥的安全验证)相关的知识,希望对你有一定的参考价值。
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。
[[email protected] ~]# service iptables stop //关闭防火墙
[[email protected] ~]# setenforce 0 关闭selinux
2.. 编辑主配置文件sshd_config
[[email protected] ~]# vim /etc/ssh/sshd_config
3.创建用户zhangsan,加入wheel组,pam认证。
[[email protected] ~]# useradd zhangsan //创建用户zhangsan
[[email protected] ~]# echo "123123" | passwd --stdin zhangsan //密码设定
[[email protected] ~]# gpasswd -a zhangsan wheel //指定zhangsan用户到wheel组
[[email protected] ~]# vim /etc/pam.d/su //开启pam认证
4.. 重启ssh服务
[[email protected] ~]# service sshd restart
客户端配置:
- 关闭防火墙和selinux
[[email protected] ~]# service iptables stop [[email protected] ~]# setenforce 0
- 创建用户lisi,且lisi用户创建密钥对。
[[email protected] ~]# useradd lisi //创建用户lisi [[email protected] ~]# echo "123123" | passwd --stdin lisi //密码设定 [[email protected] ~]# su - lisi //切换用户 [[email protected] ~]$ ssh-keygen -t rsa //创建密钥对
- 上传导入公钥文件信息。
[[email protected] .ssh]$ ssh-copy-id id_rsa.pub [email protected] //公钥上传到SSH服务器
- 在客户端使用密钥验证
[[email protected] .ssh]$ ssh [email protected]
总结:
- 公钥和私钥位置在用户各自的家目录当中是隐藏文件(.ssh),可以用ls -a查看。
- 当ssh客户端和ssh服务器进行关联后, 每次验证不用输入用户登陆密码,只需输入密钥即可登陆,加强了系统的安全。
3.之前有详细的密码验证请看:ssh密码安全验证
以上是关于SSH服务远程访问及控制(2.基于密钥的安全验证)的主要内容,如果未能解决你的问题,请参考以下文章