sshd服务
1.sshd简介
sshd= secure shell
我们可以通过网络在主机中开机shell的服务
(客户端)ssh------->sshd(服务端)
172.25.254.232 172.25.254.132
连接其他主机的方式:
-
为虚拟机修改ip
nm-connection-editor 可以为虚拟机修改ip
执行命令后出现一个小界面(如图1),选中已经存在System eth0,点击Delete,会出现图2的提示,点击Delete。然后添加新的id,点击Add,出现如图3的界面,点击Create,进入新的页面(如图4),按照图4设置。最后点击SAVE保存。
图1
图2
图3
图4
再打开一个虚拟机,按照上面的操作操作一边,address:172.25.254.231 netmask:255.255.255.0或24。 -
查询ip
我们可以通过ifconfig命令查询ip
-
连接
先ping其他主机,出现如下图的回应,说明两个机子可以连接
ssh username@ip 文本模式的链接
ssh -X username@ip 可以在链接成功后开机图形
使用ssh username@ip -X语句后,我们再次ifconfig就会发现,此时我们是在ip为172.25.254.132的机子下。
注意:
第一次链接陌生主机是要建立认证文件
会询问是否建立,需要输入yes
再次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes(上图为二次连接) -
远程复制
scp file root@ip:dir 上传(将自己主机上的文件复制到别人主机上)
scp root@ip:file dir 下载(将其他主机文件复制到自己主机上)
上图中第一句命令exit使我们从172.25.254.132的虚拟机中退出回到当前的虚拟机。通过命令scp root@172.25.254.132:/root/Desktop/westos .将ip为172.25.254.132电脑下的文件复制到本机当前位置。
2.sshd 的key认证
-
生成认证KEY
在生成key之前将/root/.ssh下原有文件删除。
ssh-keygen 生成密钥的命令
图中个别语句的含义:
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”. 公钥(锁) -
加密服务
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.132 加密sshd服务
此时,我们ls可看到两个文件。然后为172.25.254.132的root用户设置锁。(如下图)
上图中最后一条命令查看生成的文件,authorized_keys此文件出现表示加密完成.
-
分发钥匙
scp /root/.ssh/id_rsa root@172.25.254.232:/root/.ssh/ -
测试
在客户主机中(172.25.254.232)
ssh root@172.25.254.132 连接时发现直接登陆不需要root登陆系统的密码认证
3.sshd的安全设定
vim /etc/ssh/sshd_config
78 PasswordAuthentication yes|no 是否允许用户通过登陆系统的密码通过sshd的认证
48 PermitRootLogin yes|no 是否允许root用户通过sshd服务的认证
52 Allowusers student westos 设定用户白名单,不在名单中的用户不能使用sshd
在白名单中的stdent可以通过sshd认证
此时root用户不能通过sshd认证(如下图)
53 Denyusers westos 设定用户黑名单,黑名单中有的用户不可使用sshd,不在名单中的用户可以使用sshd(操作参照白名单设置)
4.添加sshd登陆登陆信息
vim /etc/motd 文件内容就是登陆后显示的信息(在172.25.254.132端设置)
5.用户的登陆审计
(1)w 查看正在使用当前系统的用户
-f 查看使用来源
-i 显示IP
这些信息在/var/run/utmp文件中。
我们在查看信息时有时会有很多,我们可以通过grep过滤出我们想要的信息。(如下图)
(2)last 查看使用过并退出的用户信息,这些信息在/var/log/wtmp
(3)lastb 试图登陆但没成功的用户, 这些信息在/var/log/btmp中