Linux系统之用户加密
主机名称的修改:在本次实验的过程中需要两台虚拟机进行,为了区分开服务端和客户端,应将两台虚拟机的主机名称进行修改。
具体修改方式为:在shell中执行 hostnamectl set-hostname xxx.example.com
更改后需要关掉当前shell重新打开一个shell即可发现名称已修改
一、客户端链接方式
1、ssh 远程主机用户@远程主机ip
图中 1行:表示连接陌生主机时需要建立认证关系;2行:输入远程用户密码;3行表示登录成功
注意:这种方式连接远程主机后只能进入文本模式,不能打开图形,如:不能打开gedit文本
2、ssh 远程主机用户@远程主机ip -X
注意:这种方式连接后是可以调用远程主机图形,如:gedit
二、sshkey加密
1、生成公钥和私钥
ssh-****** ##生成公钥私钥工具
图中“1”行:加密字符保存文件(建议用默认,按回车键即可);
“2”行:**密码,必须大于四位(可以为空,即按回车键即可)
“3”行:再次确认**密码
在shell中切换至/etc/.ssh目录中即可查询到建立好的**和公钥
id_rsa为私钥,就是钥匙;id_rsa.pub为公钥,就是锁
2、添加key认证方式
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
ssh-copy-id ##添加 key认证方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用户为root
172.25.20.13 ##被加密主机ip
添加认证方式后会在该目录中产生一个新文件即为认证文件
3、在设置好sshkey加密后若不将原来的密码登录方式关掉的话,该加密方式不生效,如:
如图,app主机依然可以通过登录密码的方式连接服务端。
4、删除密码登录方式:将文件/etc/ssh/sshd_config中第78行的yes 改为 no
修改完后需要重新加载sshd服务才能生效
生效后没有被分发钥匙的用户无法通过ssh命令远程连接
5、分发钥匙给客户端
scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
分发成功后该用户远程连接时不需要输入密码
6、设置ssh 登录提示字符
vim /etc/motd
在该文件中输入这些字符,在下次远程连接时即可显示
7、设置白名单:当服务端设置了白名单后,只有白名单上的用户才能远程连接和登录
vim /etc/ssh/sshd_config
在该文件的空白处写下 :Allowusers 允许用户
白名单中只有root用户,所以student用户无法连接
8 设置黑名单:除了黑名单中的用户,其他用户都可以连接
vim /etc/ssh/sshd_config
Denyusers 用户名
黑名单中只有root,所以root用户无法连接,student可以
9、控制ssh客户端访问
vim /etc/hosts.deny
sshd:172.25.20.12 ##拒绝该ip连接
vim /etc/hosts.allow
sshd:172.25.20.12 ##允许该ip连接