一、sshd简介
sshd= secure shell
可以通过网络在主机中开机shell的服务
客户端软件
sshd
连接方式:
ssh username@ip ##文本模式的链接
ssh -X username@ip ##可以在链接成功后开机图形
注意:
第一次链接陌生主机是要建立认证文件
所以会询问是否建立,需要输入yes
在次链接此台主机时,因为已经生成/root/.ssh/know_hosts文件所以不需要再次输入yes
二、sshd的key认证
第一步
ssh-keygen ##创建锁头
ssh-keygen -f /root/.ssh/id_rsa -N '' ##使用私钥不用密码直接登陆
在默认的/root/.ssh/id_rsa,有私钥的默认不用密码登陆
效果:
在/root/.ssh/下创建id_rsa.pub和id_rsa
第二步
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.210 ##给服务器加锁
需要输入root密码
效果:
在/root/.ssh/下创建authorized_keys
第三步
scp /root/.ssh/id_rsa root@172.25.254.110:/root/.ssh/
##远程复制私钥给需要的主机,该主机就可以直接连接服务器,并且不需要密码
- 解决没有私钥的其他主机可以用root密码直接连接服务器的问题
vim /etc/ssh/sshd_config
79 PasswordAuthentication no ##更改 79 行 yes 为 no,即更改原始认证方式
systemctl reload sshd.service ##重新加载服务
- 解决其他主机获得私钥后禁止其登陆服务器问题
rm -fr /root/.ssh/authorized_keys
若想让该主机重新获得登陆服务器的权力,则可用下面这条指令
cp /root/.ssh/id_rsa.pub /root.ssh/authorized_keys
- 解决想特殊对待个别用户
vim /etc/hosts.deny ##禁止某ip连接
vim /etc/hosts.allow ##允许某ip连接,优先级高于deny
三、sshd的安全设定
vim /etc/ssh/sshd_config
行数 | 命令 | 参数 | 解释 |
---|---|---|---|
78 | PasswordAuthentication | yes/no | ##是否允许用户通过登陆系统的密码做sshd的认证 |
48 | PermitRootLogin | yes/no | ##是否允许root用户通过sshd服务的认证 |
52 | Allowusers | 用户名 用户名 | ##设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd(包括root),安全性较高 |
53 | Denyusers | 用户名 用户名 | ##设定用户黑名单,黑名单出现默认不在名单中的用户可以使用sshd,包括root |
四、添加sshd登陆信息
vim /etc/motd ##文件内容就是登陆后显示的信息
五、用户的登陆审计
w ##查看正在使用当前系统的用户
-f ##查看来源
-i ##查看IP
last ##查看使用过并退出的用户信息
lastb ##试图登陆但没有成功的用户