Linux系统中的sshd服务及安全设定

############sshd简介############
ssh 是客户端
sshd 应该是服务器端的
sshd=secure shell
可以通过网络在主机中开机shell的服务

实验环境的搭建
查询真机ip:ip addr show br0
查询虚拟机ip:ip addr show eth0

第一步:查询真机ip,在真机的shell中输入命令:ip addr show br0
ip为:172.25.254.31
第二步:打开虚拟机,并在虚拟机的shell中输入命令:nm-connection-editor,会弹出以下弹框,并删除“system eth0选项。
在这里插入图片描述

第三步:点击“Add"添加新的选框,在“Connection name "里面输入“westos”,在MAC选择“52:54:00:33:B1:A4(eth0)"这个选项。
在这里插入图片描述

第四步:在"IPv4 Settings"选项下的“Addresses"选项中添加内容:
在这里插入图片描述
第五步:在虚拟机的shell中输入命令:ip addr show eth0,显示虚拟机的ip 为172.25.15.131,并在真机的shell中输入命令:ping 172.25.25.0.131,则表示通过网络给真机跟虚拟机“搭桥”,能够实现远程控制。

第六步:在两台主机的shell中分别删除 /root/.ssh/(删除这个目录rm -rf /root/.ssh 或者删除这个目录下的文件rm -rf /root/.ssh/*均可以)

为什么要删除/root/.ssh/? 客户端主机第一次连接服务端主机会在这个目录下生成known_hosts这个文件,为了验证这个实验效果,所以先将这个目录清空或者直接删除这个隐藏目录 直接在家目录下面输入ls -a(查看所有文件,包括非隐藏文件和隐藏文件) 或者l.(只查看隐藏文件)

更改主机名字
hostnamectl set-hostname client. com
hostnamectl set-hostname server. com

客户端软件
         sshd

连接方式
                  ssh username@ip ##文本模式的链接
                  ssh -X username@ip ##可以在链接成功后开机图形
在这里插入图片描述
在这里插入图片描述
在客户端主机中查看/root/.ssh/下的文件
cd /root/.ssh/       切换到该目录下
ls                         查看该目录下的文件,出现known_hosts文件
cat known_hosts     查看该文件的内容 会显示server主机的信息
在客户端主机中输入 rm -rf known_hosts, 删除该文件
再次重新连接 ssh root@172.25.254.231 就会出现yes或者no
在这里插入图片描述

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

1.生成认证KEY

[root@server ~]#  ssh-keygen             ##生成密钥的命令
[root@server ~]#  cd /root/.ssh/         ##切换到ssh里
[root@server .ssh]#  ls                  ##查看ssh里的密钥是否生成
authorizeed_keys      id_rsa(钥匙)     id_rsa.pub(锁)

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

 [root@server .ssh]# ssh-copy-id  -i  id_rsa.pub   root@172.25.254.231         ##让系统读取加密文件有"added"出现,则表示密钥设置成功
 [root@server .ssh]# ls      ##查看ssh里的密钥是否出现
  authorized_keys       id_rsa       id_rsa.pub      known_hosts
             ^
    此文件出现表示加密完成

在这里插入图片描述
分发钥匙

[root@server .ssh]#  scp  /root/.ssh/id_rsa  root@172.25.254.131:/root/.ssh/   ##钥匙发给客户端

客户端
客户端/root/.ssh/的这个文件(目录)必须存在 ,相当于上传

注意:如果客户端没有/root/.ssh/这个文件,客户端使用密码方式重新连接一次服务端,会生成该文件,然后可以将锁传给客户端了
在这里插入图片描述
测试

在客户端主机中(172.25.254.131)
ssh root@172.25.254.231 ##连接发现直接登陆不需要root登陆系统的密码

注意:以上操作步骤是把私钥(id_rsa)给了root用户,所以root用户可以直接进入,不需要输入密码,当以普通用户的身份想进入虚拟机,还是要输入密码。 ##将私钥给哪个用户,哪个用户进入是不需要密码的。

###########sshd安全的设定#############
setenforce是Linux的selinux防火墙配置命令
setenforce 0             ##关闭selinux防火墙
getenforce                ##查看selinux的状态
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
若不想让有密码的用户进入服务器(虚拟机),则编辑文件夹
                     vim /etc/ssh/sshd_config

  78 PasswordAuthentication yes|no       ##是否允许用户通过登录系统的密码做sshd的认证
  48 PermitRootLogin yes|no              ##是否允许root用户通过sshd服务的认证
  52 Allowusers student westos           ##设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd
  53 Denyusers westos                    ##设定用户黑名单,黑名单出现默认在名单里的用户不能使用sshd

在这里插入图片描述

让有私钥的用户也进不去,在目录/root/ssh/.ssh/中删除文件authorized_keys即可
在这里插入图片描述
在这里插入图片描述
若想再让有私钥的用户进入,重新装上密钥authorized_keys,就可以了
在这里插入图片描述在这里插入图片描述
注意
1,每个命令设置完成后,必须使用命令“systemctl restart sshd.service" 重新启动服务后才能用真机或者另一个虚拟机(客户端)去验证。
2,在用命令“vim”编辑文件时,在文件的每一行前加上”#“符号,表示命令没有被启用。

###########添加sshd登陆信息###########
vim /etc/motd          ##文件内容就是登陆后显示的信息

###########用户的登陆审计#############

1.w                ##查看正在使用当前系统的用户
         -f          ##查看使用来源
         -i          ##显示IP
         /var/run/utmp          ## 查看使用过并退出的用户的信息
在这里插入图片描述
2.last
        /var/log/wtmp         ##查看使用过并退出的用户信息

3.lastb
        /var/log/btmp         ##试图登陆但没成功的用户

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值