Openssh服务的部署及安全优化

文章目录

  • 一、Openssh功能介绍
  • 二、ssh命令
  • 三、Openssh服务的key认证
    • 1. 实验环境设定
    • 2. Openssh认证方式
    • 3. Openssh KEY
    • 4. 关于Openssh的文件
    • 5. 实验步骤
  • 四、 Openssh服务的安全优化

一、Openssh功能介绍

  1. OpenSSH 是 SSH (Secure SHell) 协议的免费开源软件
  2. 软件安装名称: Openssh-server
  3. 配置文件: /etc/ssh/sshd_conf
  4. 默认端口:22,访问接口
  5. 客户端命令:ssh
  6. rpm -qa | grep open #查看系统是否装配sshd服务
    Openssh服务的部署及安全优化_第1张图片

二、ssh命令

ssh remoteUSER@remoteIP
##remoteUSER:远程主机用户 remoteIP:远程主机IP

参数 作用
-l 指定登录用户
-i 指定密钥
-x 开启图形
-p 指定端口
-f 后台运行
-o 指定连接参数
-t 指定连接跳板

(1) ssh -l root 172.25.16.100 #登陆远程主机
Openssh服务的部署及安全优化_第2张图片
可以命令w查看连接主机用户
Openssh服务的部署及安全优化_第3张图片
(2) ssh -l root 172.25.16.100 -X #可以开启图形
Openssh服务的部署及安全优化_第4张图片
Openssh服务的部署及安全优化_第5张图片
可以命令查看gedit进程在哪里运行,ps aux | grep gedit
kiosk主机上调用了workstation主机上的gedit
Openssh服务的部署及安全优化_第6张图片
(3) ssh -l root 172.25.16.100 -p 22 #登陆指定端口
Openssh服务的部署及安全优化_第7张图片
(4) ssh -f -l root 172.25.16.100 -X gedit #后台运行gedit,不占用终端
Openssh服务的部署及安全优化_第8张图片
Openssh服务的部署及安全优化_第9张图片
可以用命令ps aux | grep ssh 查看ssh服务运行情况
Openssh服务的部署及安全优化_第10张图片
(5) ssh -l root 172.25.16.100 -X -o RemoteCommand=gedit #远程运行指定命令gedit
Openssh服务的部署及安全优化_第11张图片
对于-o 后面接的参数可以用 man ssh 查看,并搜索关键词-o
Openssh服务的部署及安全优化_第12张图片
Openssh服务的部署及安全优化_第13张图片
【跳板连接】
在这里插入图片描述
Openssh服务的部署及安全优化_第14张图片

三、Openssh服务的key认证

1. 实验环境设定

  1. 需要两台设定虚拟机:workstation虚拟机设定为172.25.16.100;server虚拟机设定为172.25.16.200。由于真机ip可查为172.25.16.250。
  2. 详细操作步骤如同系统守护进程实验环境设定
  3. 用命令nm-connection-editor在虚拟机上设置网络:
    Openssh服务的部署及安全优化_第15张图片
  4. 查看网络添加是否成功:
    Openssh服务的部署及安全优化_第16张图片
    Openssh服务的部署及安全优化_第17张图片
  5. ping另一个虚拟机workstation:
    Openssh服务的部署及安全优化_第18张图片
    注意:当网卡导致ping不通时,可在虚拟机管理器(VMM)中删除旧的网卡,添加一个新的网卡。具体操作步骤不再复述。

2. Openssh认证方式

  1. 密码认证:至少6个字符;包含数字、字母、下划线特殊符号等;易泄漏;可被暴力破解;密码容易丢失。
  2. 密钥认证:新型认证方式,分为公钥及私钥;公钥上传服务器;私钥配对认证,不会被盗用;攻击者一般无法通过密钥登录服务器。
    公钥相当于锁头,私钥相当于钥匙

3. Openssh KEY

  1. 支持rsadsa加密
  2. 加密方法
    • 生成密钥 ssh-keygen
    上传密钥 ssh-copy-id –i keyfile remoteUSER@remoteIP

4. 关于Openssh的文件

文件 功能
~/.ssh/authorized_keys 用于保存用户的公钥文件
~/.ssh/known_hosts 辨别服务器的唯一散列码
~/.ssh/id_dsa 用户的私钥文件
~/.ssh/id_rsa.pub 用户的公钥文件

5. 实验步骤

规定server为服务端,workstation为客户端1,主机kiosk为客户端2.

  1. 在客户端1(workstation)生成密钥ssh-keygen
    Openssh服务的部署及安全优化_第19张图片
    查看生成的密钥
    在这里插入图片描述
    id_rsa ###客户端私钥
    id_rsa.pub ####服务端公钥
  2. 使用命令ssh-copy-id -i id_rsa.pub [email protected] #上锁远程主机server
    Openssh服务的部署及安全优化_第20张图片
    可以在server主机上可以查看生成的公钥文件 (authorized_keys),这个文件和workstation主机上的id_rsa.pub内容一样
    Openssh服务的部署及安全优化_第21张图片
    Openssh服务的部署及安全优化_第22张图片
    Openssh服务的部署及安全优化_第23张图片
  3. 在客户端1上可以直接免密连接服务器,因为客户端1(workstation)拥有私钥
    Openssh服务的部署及安全优化_第24张图片
  4. 对于没有私钥的客户端2(kiosk),连接服务器是需要密码的,可以暴力破解,存在安全隐患,
    Openssh服务的部署及安全优化_第25张图片
  5. 可以在服务端(server)更改配置文件/etc/ssh/sshd_config,减少安全隐患,
    Openssh服务的部署及安全优化_第26张图片
    PasswordAuthentication从yes改成no,退出保存,并重置sshd
    Openssh服务的部署及安全优化_第27张图片
    Openssh服务的部署及安全优化_第28张图片
  6. 此时在客户端2连接服务器,无权登陆,拒绝请求,密码不让输入
    Openssh服务的部署及安全优化_第29张图片
  7. 对于拥有私钥的客户端1,当服务端破坏公钥,客户端1也无法登陆
    Openssh服务的部署及安全优化_第30张图片
    Openssh服务的部署及安全优化_第31张图片
    恢复公钥,客户端1才能正确登陆
    在这里插入图片描述
    Openssh服务的部署及安全优化_第32张图片
  8. 可以使用命令scp /root/.ssh/id_rsa [email protected]:/home/kiosk/.ssh 在客户端1传送私钥给客户端2(Kiosk)
    Openssh服务的部署及安全优化_第33张图片
    客户端2拥有了私钥也可直接登陆服务端
    Openssh服务的部署及安全优化_第34张图片

四、 Openssh服务的安全优化

  1. sshd服务配置文件
    /etc/ssh/sshd_config
  2. sshd服务配置参数
参数 作用
Port 22 监听端口
Protocol 2 指定协议版本
ListenAddress 绑定IP(指定sshd的接口开放ip)
HostKey 设定HostKey密钥路径
PermitRootLogin 设定超级用户是否能登录
PubkeyAuthentication 公钥认证开关
PasswordAuthentication 密码认证开关
AllowUsers 用户白名单
DenyUsers 用户黑名单

首先将刚才更改的配置文件还原,将原始认证功能打开
Openssh服务的部署及安全优化_第35张图片
在这里插入图片描述
(1)更改端口为6666,命令 netstat -anltpe | grep sshd,可以查看端口
Openssh服务的部署及安全优化_第36张图片
在这里插入图片描述
Openssh服务的部署及安全优化_第37张图片
(2)在服务端将PermitRootLogin改为no,重新加载配置,设定超级用户不可登陆
Openssh服务的部署及安全优化_第38张图片
Openssh服务的部署及安全优化_第39张图片
Openssh服务的部署及安全优化_第40张图片
(3)在服务端系统新建用户westos,没有设定,默认所有用户均可以登陆
Openssh服务的部署及安全优化_第41张图片
Openssh服务的部署及安全优化_第42张图片
设定用户黑名单,不允许westos用户登陆,重新加载配置,其他用户可以登陆;
Openssh服务的部署及安全优化_第43张图片Openssh服务的部署及安全优化_第44张图片
设定用户白名单,只允许westos用户登陆,不允许其他用户登陆,重新加载配置
Openssh服务的部署及安全优化_第45张图片
Openssh服务的部署及安全优化_第46张图片

你可能感兴趣的:(Linux之基础知识)