详解sshd服务
服务
用什么控制服务
系统初始化进程可以对服务进行相应的控制
当前系统初始化进程是什么
systemd ###系统初始化进程
pstree ##显示系统中的进程树
################sshd服务#################
在做sshd服务的实验之前我们需要先来设置网络
nm-connection-editor
点ADD来添加一个网络
设置IP地址,netmask为子网掩码(后面会讲到)
点击save,网络设置完成
1.sshd简介
sshd=secure shell
可以通过网络在主机中开启shell的服务
客户端软件 < c-F9>
sshd
1).打开两台虚拟机desktop和server
为了方便区分,将server的shell颜色更换
在edit的profile preferences里更改颜色
再将server的shell名称改为server,作为服务器
desktop作为客户端改为client
2).用开始说过的设置网络,将两台虚拟机的网络设置好
ip地址可以不唯一,可自行设置,方便区分就好
3)用[ifconfig]命令来查看ip是否修改成功
4)用ping命令来查看两台主机是否能连通
ping 172.25.254.170
上图为连接成功,【ctrl+c】退出
连接方式:
ssh [email protected] ##文本模式的链接
ssh -X [email protected] ##可以在链接成功后开启图形
注意:
第一次连接陌生主机是要建立认证文件
所以会询问是否建立,需要输入yes
再次连接这台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes
远程复制:
scp file [email protected]:dir ##上传
scp [email protected]:file dir ##下载
(详见本作者另一博客:文件传输)
2.sshd的认证
1.生成认证KEY
ssh-****** ##生成**的命令
2.给服务器上锁
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
(服务器的IP地址我设置为172.25.254.190,客户端IP地址为172.25.254.90,和前文设置网络模块不一致,需注意)
在查看 .ssh中出现authorized_keys即代表上锁成功
3.分发钥匙
scp /root/.ssh/id_rsa [email protected]:/root/.ssh
4.测试
在客户主机中(ip)
ssh [email protected] ##连接时发现直接登陆不需要root登录系统的密码认证
####3.sshd的安全设定
vim /etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否允许用户通过登陆系统的密码做sshd的认证
48 PermitRootlogin yes|no ##是否允许root用户通过sshd服务的认证
将48行更改为no后,以root用户登录便被限制
52 Allowusers student westos ##设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd
设置白名单为westos
student用户登陆,正确输入密码,无法登陆
root用户登录,正确输入密码,无法登陆
westos用户成功登录
53 Denyusers westos ##设定用户黑名单,黑名单出现默认不在名单中的用户可以使用sshd
注意:在每次设定之后都要重新加载配置文件
###4.添加sshd用户登陆信息
vim /etc/motd ##文件内容就是登陆后显示的信息
###5.用户的登陆审计
.w ##查看正在使用当前系统的用户
-f ##查看使用来源
-i ##显示ip
/var/run/utmp
last ##查看使用过并退出的用户信息
/var/log/wtmp
lastb ##试图登陆但没成功的用户
/var/log/btmp