sshd服务
1.sshd简介
sshd= secure shell
可以通过网络在主机中开启shell的服务
客户端软件:sshd
连接方式:
ssh username@ip ##文本模式的连接
ssh username@ip ##可以在连接成功后,无法实现开启带有图形的软件
这时应用ssh -X连接,便可带有图形
ssh -X username@ip
注意:
第一次连接陌生主机是要建立认证文件,所以询问是否建立,需要输入yes,在此连接此台主机时,因为已经生成了~/.ssh/know_hosts文件所以不需要再次输入yes
补充扩展
通过修改文件来允许或禁止某个ip连接你的主机ip(注意应在超级用户下编辑)
vim /etc/hosts.deny 通过在文件后增加sshd:+ip ,来禁止ip接入
vim /etc/hosts.allow 通过在文件后增加sshd:+ip ,来允许ip接入
在desktop端通过设置hosts.deny文件,来决定那些ip不可以连接此ip
设置后,真实主机便无法连接到虚拟机
注意:默认权限设定的优先级次序为allow>deny
补充:
更改用户姓名命令
hostnamectl set-hostname 更改后的用户名
2.sshd的key认证
配置密钥
(1)rm -fr /root/.ssh/ 先清空旧的密钥信息
(2)ssh-keygen 配置密钥位置及其内容
ssh-keygen -f /root/.ssh/id_rsa -N '' 直接将密钥配置成默认,无需再输入
(3)ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.226 为ip所处的主机用户root加密
生成密钥
给ip加密
做完这些操作后,发现cilent客户端还可以通过输入server主机客户端的root用户的密码进行登陆连接
解决方法
(1)vim /etc/ssh/sshd_config 通过修改服务端sshd的配置文件来关闭sshd客户端可以通过服务端用户密码登陆连接的功能
(2)systemctl reload sshd.service 重新加载sshd的配置–>让配置生效
让配置生效后便无法从客户端连接服务端了
这时客户端没有密钥便无法连接服务端了
但如果还想让客户端访问
方法:
scp /root/.ssh/id_rsa root@172.25.254.126:/root/.ssh/
将可以解开公钥的私钥通过远程传输的方式发送给客户端并放入其默认目录,这是客户端再次连接时 系统会默认读取私钥进行连接
可见连接不需要输入密码(自动读取默认路径文件)
如果想关闭客户端的连接功能
rm -fr /root/.ssh/authorized_keys 删除其拥有的私钥对应的公钥,则让其无法进行连接
3.sshd的安全设定
vim /etc/ssh/sshd_config 首先要打开sshd的默认配置文件后再进行配置
PasswordAuthentication yes|no ##是否允许用户通过登录系统的密码作ssh的认证
PermitRootLogin yes|no ##是否允许root用户通过ssh服务的认证
(客户端能否连接服务端的root用户)
AllowUsers student westos ##设定白名单用户,默认不在名单的用户不能使用sshd
(客户端只能连接服务端的白名单用户)
DenyUsers student ##设定黑名单用户,默认不再名单的用户可以使用sshd
(客户端不能连接服务端的黑名单用户)
4.添加sshd登陆信息
vim /etc/motd ##文件内容就是登陆后显示的信息
5.用户的登陆审计
(1)
w ##查看正在使用当前系统的用户
-f ##查看使用来源
-i ##显示ip
/run/utmp
(2)
last ##查看使用过并退出的用户信息
/var/log/wtmp
(3)
lastb ##试图登陆但没成功的用户
/vae/log/btmp