1.sshd简介
sshd=secure shell,应用层的安全协议
利用ssh可以通过网络在主机中开启shell服务
客户端软件:sshd
连接方式:
ssh username@ip ##文本模式的链接
ssh -x username@ip ##可以在链接成功后开启图形(大写X)
注意:
第一次链接陌生主机是要建立认证文件
所以会询问是否建立,需要输入yes
再次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes
vim /etc/hosts.deny ##此文件可以禁止其它ip链接
vim /etc/hosts.allow ##此文件可以允许某ip链接,优先级高于deny
远程复制:
scp file root@ip:dir #上传
scp root@ip:file dir #下载
2.sshd 的key认证
(1)在服务端设置公钥
ssh-keygen -f /root/.ssh/id_rsa -N ' '
(2)给服务端ip加密
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.139 ##原始认证关闭前加密
(3)关闭原始认证,禁止客户端输入密码的权限
vim /etc/ssh/sshd_config
第78行yes–>no
(4)重启服务
systemctl reload sshd.service
systemctl restart sshd.service
测试
在客户主机中(172.25.254.100)
ssh root@172.25.254.200 ##链接时发现直接登陆不需要root登陆系统的密码认证
(5)分发钥匙,给客户端,使客户端可以链接服务端
scp /root/.ssh/id_rsa root@172.25.254.100:/root/.ssh/
(6)禁止客户端链接服务器,服务端将创建的公钥删除后,即使客户端有钥匙,也无法再次链接服务端。
rm -fr /root/.ssh/authorized_keys
(7)恢复客户端链接服务器,将id_rsa中的钥匙复制一份到authorized_keys中,使客户可以再次链接。
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
3.sshd的安全设定
vim /etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否允许用户通过登陆系统的密码做sshd的认证
48 PermitRootlogin yes|no ##是否允许root用户通过sshd服务的认证
52 Allowusers student westos ##设定用户白名单,白名单出现默认不再名单中的用户不能使用sshd
53 Denyusers westos ##设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd
4.添加sshd登陆信息,在文本中
vim /etc/motd ##文件内容就是登陆后显示的信息
5.用户的登陆审计
(1)
w ##查看正在使用当前系统的用户
w -f ##查看使用来源
w -i ##显示IP
在/var/run/utmp中保存信息(2)last ##查看使用过并退出的用户信息
在/var/log/wtmp/中保存信息
(3)lastb ##试图登陆但没成功的用户
在/var/log/btmp中保存信息