【linux】06_sshd服务

1.sshd简介

ssh=secure shell,可以通过网络在主机中开启shell的服务。
连接方式:

ssh	username@ip	     ##文本模式的连接
ssh -X	username@ip	 ##可以在连接成功后打开图形

注意:
第一次连接陌生主机时要建立认证文件
会询问是否建立,需要输入yes
再次连接此主机时,因为已经生成~/.ssh/know_hosts

2.sshd的key认证

如果用户知道某主机的ip地址,又恰好知道了其用户密码,那就可以任意的登陆到这台主机上,这对于这台主机就十分不安全。可以考虑通过加入RSA密码认证,更安全一些。这就相当于,给该台主机上一个锁,而这把锁配备的钥匙由这台主机分发给允许登陆的用户,再关掉通过密码登陆的方式,那就保证了只有那些拥有开启这台主机锁的钥匙的用户才能登陆到这台主机。
1.步骤大致如下:
1)生成密钥(在哪生成都可以)----》生成之后会产生公钥(锁)、密钥(钥匙)两个文件
2)加密用户(相当于给这台主机上锁)----》加密之后会产生authorized_keys这个文件
3)分发钥匙
了解了基本步骤,下面介绍命令。
2.实验如下:
实验前的准备,开启两台ip地址不同的虚拟机,并保证相互之间能ping通。这里为了方便实验,设置一台主机名为client,另一台server,其中server提供sshd服务,client通过server开启并提供的sshd服务去连接server。
在这里插入图片描述
1)在server主机上,ssh-keygen生成钥匙 。(生成密钥在哪台主机都可以)
其中2-4行的解释如下:
Enter file in which to save the key (/root/.ssh/id_rsa):
指定保存加密字符的文件,默认名字是id_rsa 。也可自定义名字,但是需要改配置文件,所以这里直接enter过。
Enter passphrase (empty for no passphrase):
设定密码,不少于4位。如果不设定密码,直接enter过
Enter same passphrase again:
如果设定了密码,再次输入确认密码。

生成了密钥之后,在.ssh目录下会生成两个文件。id_rsa为密钥(钥匙),id_rsa.pub为公钥(锁)。
在这里插入图片描述
也可以ssh-keygen -f /root/.ssh/id_rsa -P “” 自动生成

2)加密server主机上的root用户。ssh-copy-id -i /root/.ssh/id_rsa.pub
加密要经过root用户的批准,所以需要root用户再输入一次密码。
在这里插入图片描述
如果在.ssh文件中生成了authorized_keys文件,则表示加密成功。
在这里插入图片描述
这里known_hosts文件是ssh登陆了其他主机生成的认证文件,与这次实验无关,有无均可。
3)把钥匙(id_rsa)分发给其他用户。这里我们分给client端(ip为172.25.254.107)的root用户,scp /root/.ssh/id_rsa root@172.25.254.107:/root/.ssh/
在这里插入图片描述
4)测试效果
在这里插入图片描述
client端的root用户实现了免密登陆server的root账号。
在这里插入图片描述
client端的root用户想要登陆server的student账号需要密码。
在这里插入图片描述
client端的student用户想要登陆server的root账号需要密码。

3.sshd的安全设定

不想让客户端使用sshd服务登陆主机了怎么办?一种情况是可以在server端rm -fr authorized_keys,另一种情况是使用安全设定。
在这里插入图片描述
可以看到,ssh服务的配置文件有两个。其中sshd_config是服务器端, ssh_config是客户端的。如果不了解配置文件中的参数 man 5 配置文件filename 关键字搜索参数
在这里插入图片描述
78行PasswordAuthentication yes 默认允许用户通过密码做sshd认证
在这里插入图片描述
我们可以设置为no

在这里插入图片描述
再测试一下效果,发现client端的student用户仍然可以通过密码ssh到server端的root用户。可是我们不是把密码认证设置了no吗?原因是我们还缺少一步。
在这里插入图片描述
在修改了服务的配置文件之后,一定要重启该服务。
在这里插入图片描述
此时再连接,发现密码认证已经关闭。

PermitRootLogin yes         ##是否允许root用户通过sshd服务的认证
AllowUsers student potizo	##设定用户白名单,白名单出现,默认不在白名单中的用户不能使用sshd(中间用空格隔开)
DenyUsers zoe		        ##设定用户黑名单,黑名单出现,默认不在黑名单中的用户可以使用sshd

4.添加sshd登陆信息

vim /etc/motd	##文件内容就是登录后的信息显示

在这里插入图片描述
在这里插入图片描述

5.用户的登陆审计

w		##查看正在使用当前系统的用户

在这里插入图片描述

w -f	##查看使用来源

在这里插入图片描述

w -i	##显示IP

在这里插入图片描述

last		##查看使用过并退出的用户信息

在这里插入图片描述

lastb		##是图登录但没成功的用户

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值