Linux系统中的sshd服务
1、sshd
sshd=secure shell
可以通过网络在主机中开shell的服务
连接方式:
ssh [email protected] ##文本模式的连接
ssh -X [email protected] ##可以在连接成功后开启图形
本实验需要通过两台虚拟机,故先配置环境
两台虚拟机
client 172.25.254.147
rm -fr /root.ssh/ 删除/root/.ssh文件
useradd westos 建立新的用户
passwd westos 给新用户设置密码
hostnamectl set-hostname client_ssh.westos.com 给ssh文件改名
server 172.25.254.247(操作同上)
测试两台主机网络能否ping通
client这台主机连接server主机
(第一次连接陌生主机是要建立认证文件,所以会询问是否建立,需要输入yes,再次连接此台主机时,因为已经生成~/.ssh/know_hosts文件,所以不需要再次输入yes)
vim /etc/hosts.deny中写sshd:ALL 拒绝所有人连接
vim /etc/hosts.allow中写sshd:ALL EXCEPT 172.25.254.147 允许除了172.25.254.147 所有人连接(允许高于拒绝)
此时访问就会被拒绝
vim /etc/hosts.allow中写sshd:ALL EXCEPT 172.25.254.147
此时client来连接,就会被拒绝
2、加密
1)、生成**
ssh-****** -f /root/.ssh/id_rsa -N “” **生成在/root/.ssh/下文件名是id_rsa, 密码设置为空,即“”
2)加密
3)发送给用户端**
加密后再关闭 vim /etc/ssh/sshd_config 第86行修改yes–>no 关掉输密码连接
systemctl reload sshd.service 重启sshd服务
测试
用户端访问 172.25.254.247
删除锁 rm -fr /root/.ssh/authorized_keys
再次访问无法访问
重新加锁 cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
再次访问生效
远程复制:
scp file [email protected]:dir 上传
scp [email protected]:file dir 下载
3sshd的安全设定
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 查看正在使用当前系统的用户
-f 查看使用来源
-i 查看ip
存储在/run/utmp中
2)last 查看谁登陆过并退出的用户信息,存储在/var/log/wtmp
3)lastb 查看谁试图登陆过,但没有成功的用户,存储在/var/log/btmp