一、系统中的ssh与sshd服务
- 概念简介
- openssh
在主机中开启了openssh服务,那么就对外开放了远程连接的接口
openssh的服务端:sshd
openssh的客户端:ssh
ssh————————————>sshd
client server
- ssh
ssh= secure shell
可以让远程主机通过网络访问sshd服务,开始一个安全shell,并对其进行操控 - sshd
可以通过网络在主机中开启shell的服务
- 客户端、服务端的环境搭建
这里我们以两个虚拟机为例
客户端:shell背景为黑色,ip=172.25.254.100
服务端:shell背景为白色,ip=172.25.254.200
搭建过程如下:
(1)搭建客户端环境
(2)服务端搭建,过程同上,注意ip地址与客户端不同
- 客户端的连接
(1)连接方式:
ssh username@ip 文本模式的链接
ssh -x username@ip 可以在链接成功后开机图形
比如:不加-x时,连接其他主机成功后使用gedit会报错
加-x则可以成功使用gedit命令
注意:
-
第一次链接陌生主机是要建立认证文件所以会询问是否建立,需要输入yes
输入密码则连接成功
连接后,exit则可以退出
ifconfig命令可以查看自己在哪个主机上,以防连接错误
-
再次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes
(2)远程复制: -
上传
格式: scp file root@ip:dir
例: 将客户端桌面的hello文件复制到服务端的桌面
-
下载
格式: scp root@ip:file dir
例: 将服务端桌面的westos文件复制到客户端的当前位置
- sshd 的key认证
(1)生成认证key
(2)加密服务
(3)分发钥匙
(4)测试
在客户主机中(172.25.254.100)
执行命令:ssh [email protected]
连接时发现直接登陆不需要root登陆系统的密码认证
- sshd的安全设定
vim /etc/ssh/sshd_config
注意:编辑此文件后记得要重启一下
systemctl restart sshd
(1)passwordauthentication yes|no
是否允许用户通过登陆系统的密码做sshd的认证
(2)permitrootlogin yes|no
是否允许root用户通过sshd服务的认证
(3)denyusers westos
设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd
(3)allowusers student westos
设定用户白名单,白名单出现默认不再名单中的用户不能使用sshd
- 添加sshd登陆登陆信息
vim /etc/motd 编辑文件内容就是登陆后显示的信息
- 用户的登陆审计
- 环境搭建:
首先搭建好两台虚拟机
ip分别为:(1)172.25.254.100
(2)172.25.254.200
然后在主机上打开两个shell分别连接两个ip
可以看到两台机子的ip不同,但是主机名称一致
所以要修改主机名称加以区分,设定方式如下
设定完成之后两台主机名字分别为node1 和node2
(1)w 查看正在使用当前系统的用户
或者 cat /var/run/utmp
可以看到清空上述文件后则没有相关信息
w -f 查看使用来源
w -i 显示ip
(2)last 查看使用过并退出的用户信息,或者 cat /var/log/wtmp
(3)lastb 试图登陆但没成功的用户
![在这里插入图片描述](https://img-blog.csdn.net/20181014230150677?watermark/2/text/ahr0chm6ly9ibg9nlmnzzg4ubmv0l3fxxzqymdm2odi0/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70)
每输错一次密码,未成功信息加一条