一、虚拟机环境设定:
本次与ssh服务有关的内容均在两台虚拟机中完成
设置客户端desktop虚拟机名称为client,ip地址为172.25.254.115
设置服务端server虚拟机名称为server,ip地址为172.25.254.215
具体设置方法如下:
1.配置网络:
nm-connection-editor
删除旧的,新建网络
Ethernet中Connection name填写为eth0,Device MAC address选xxxxxx(eth0)
IPv4 Settings中选Method为Manual, 点add,依次填写172.25.254.115/215 24 空 save close
2.更改虚拟机名称:
hostnamectl set-hostname client/server.example.com
3.删除两台虚拟机中原/root/.ssh/中保存的文件
rm -fr /root/.ssh/*
二、ssh简介
ssh= secure shell,是应用层的安全协议
可以通过网络在主机中开启shell的服务
客户端软件:sshd
1、连接方式:
ssh username@ip ##文本模式的连接
ssh -X username@ip ##可以在连接成功后开启图形
注意:
第一次连接陌生主机时要建立认证文件, 所以会询问是否建立,需要输入yes
再次连接此台主机时,因为已经生成~/.ssh/know_hosts文件,所以不需要再次输入yes
2、远程复制:
1)scp file root@ip:dir ##远程上传
scp file root@172.25.254.115:/root/Desktop/ ##远程上传文件
scp -r test root@172.25.254.115:/root/Desktop/ ##远程上传文件夹
2)scp root@ip:file dir ##远程下载
scp root@172.25.254.215:/root/Desktop/file . ##远程下载文件
scp -r root@172.25.254.215:/root/Desktop/test/ . ##远程下载文件夹
三、sshd的key认证
1.生成认证KEY
[root@server ~]# ssh-keygen ##生成密钥的命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ##指定保存加密字符的文件(使用默认)
Enter passphrase (empty for no passphrase): ##设定密码(使用空密码)
Enter same passphrase again: ##确认密码
Your identification has been saved in /root/.ssh/id_rsa. ##私钥(钥匙)
Your public key has been saved in /root/.ssh/id_rsa.pub. ##公钥(锁)
2.加密服务
[root@server ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.215
[root@server ~]# ls /root/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
^
注意:此文件出现表示加密完成
3.分发钥匙
scp /root/.ssh/id_rsa root@172.25.254.115:/root/.ssh/
4.测试
在客户端主机中(虚拟机client,ip172.25.254.115)
ssh root@172.25.254.215 ##连接时发现直接登陆不需要root登录系统密码认证
四、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
systemctl restart sshd.service
注意:配置完sshd_config文件后需要重启sshd服务
五、连接不上服务端主机时的排错思路:
1.网通是否通畅
2.sshd服务是否开启
3.是否被添加到黑名单
注意:配置完sshd_config文件后需要重启sshd服务
4.是否设置只允许xxip访问
vim /etc/hosts.allow ##白名单
vim /etc/hosts.deny ##黑名单
六、添加sshd登陆信息
vim /etc/motd ##文件内容就是登陆后显示的信息
七、用户的登陆审计
1.w ##查看正在使用当前系统的用户(信息存放在/var/run/utmp文件中)
w -f ##查看使用来源
w -i ##显示IP
2.last ##查看使用过并退出的用户信息(信息存放在/var/log/wtmp文件中)
3.lastb ##查看试图登陆但没成功的用户(信息存放在/var/log/btmp文件中)