1 Openssh功能介绍
2 ssh命令
3 Openssh服务的key认证
4 Openssh服务的安全优化

1.Openssh功能概述
Openssh
OpenSSH 是 SSH (Secure SHell) 协议的免费开源软件
软件安装名称
• Openssh-server
配置文件
• /etc/ssh/sshd_conf
默认端口(接口是用来区分IP地止上开启的不同功能)
• 22
客户端命令
• ssh
查看系统当中的opessh-server

[root@workstation Desktop]# rpm -qa | grep ope

centos6如何关闭openssh_IP

2.ssh命令
ssh命 令 remote USER@remoteIP

参数

用途

-l

指定登录用户

-x

开启图形

-i

指定密钥

-p

指定端口

-f

后台运行

-o

指定连接参数

-t

指定连接跳板

2.1 查看虚拟机火墙是否允许真机连接

显示结果允许

centos6如何关闭openssh_IP_02

2.2指定用户登陆:

[kiosk@foundation66 Desktop]$ ssh -l root 172.25.254.111

真机连接虚拟机是需输入虚拟机密码

centos6如何关闭openssh_运维_03


2.2.1在虚拟机中查看连接者的IP

[root@workstation Desktop]# w -i

centos6如何关闭openssh_白名单_04


2.3开启图形:

当前在真机中登陆虚拟机是无法打开gedit图形界面,因为-l是文本连接,若要打开图像命令需在命令最后使用参数-X才可打开gedit

centos6如何关闭openssh_centos6如何关闭openssh_05

centos6如何关闭openssh_IP_06


真机kiosk中运行进程有gedit

centos6如何关闭openssh_白名单_07


虚拟机中没有

centos6如何关闭openssh_centos6如何关闭openssh_08


2.4-p指定端口 ssh的指定端口22

centos6如何关闭openssh_运维_09


2.5-f后台运行

不占用终端

centos6如何关闭openssh_运维_10


2.6指定参数登陆

如下在登录时会被询问yes或no,

centos6如何关闭openssh_centos6如何关闭openssh_11


2.7使用-o参数可以忽略直接输入密码登录

centos6如何关闭openssh_白名单_12


2.8跳板连接

-t参数

ssh -t root@172.25.254.66 ssh 172.25.254.111
              当某台主机不能直接连接workstation则先连接IP:172.25.254.66的真机在连接workstation

3.Openssh服务的key认证
3.1 Op en ssh认 证 方 式

密码认证

密钥认证

至少6个字符

新型认证方式,分为公钥及私钥

包含数字,字母,下划线特殊符号等

不用记住密码

易泄漏

公钥上传服务器

可被暴力破解

私钥配对认证,不会被盗用

密码容易丢失

攻击者一般无法通过密钥登录服务器

3.2 Openssh KEY
支持rsa及dsa加密
加密方法

关于 Openssh的文件
• 内容
文件                        功能
~/.ssh/authorized_keys    用于保存用户的公钥文件
~/.ssh/known_hosts        辨别服务器的唯一散列码
~/.ssh/id_dsa             用户的私钥文件
~/.ssh/id_rsa.pub        用户的公钥文件
• 生成密钥 ssh-keygen
• 上传密钥 ssh-copy-id –i keyfile remoteUSER@remote  IP

3.3保持实验环境纯洁(.ssh/目录会在第一次登录服务器时生成,里面也会生成一个文件know_hostos)删除该目录文件

centos6如何关闭openssh_linux_13


centos6如何关闭openssh_运维_14


3.4生成公钥和私钥

密钥的生成位置客户端和主机都可以

使用默认文件目录和名称,密码忽略输入

密钥成功生成:

centos6如何关闭openssh_centos6如何关闭openssh_15

3.4.1.ssh/会生成以下文件如下:

解锁——私钥:/root/.ssh/id_rsa 上锁——公钥:/root/.ssh/id_rsa.pub

centos6如何关闭openssh_白名单_16


3.4.2上锁:

.ssh/会生成一个authorized_keys文件也就是锁,此文件内容与id_rsa.pub的内容一样

centos6如何关闭openssh_白名单_17


3.5免密登录:

未持有私钥的用户每次登录都会显示要输入密码,有安全因患。可暴力破解

centos6如何关闭openssh_白名单_18


3.5.1关闭显示密码登录,直接拒绝未拥有私钥的用户

[root@workstation ~]# vim /etc/ssh/sshd_config  编辑此文件

73行的yes改成no

centos6如何关闭openssh_IP_19


3.5.2并且重启该程序[root@workstation ~]# systemctl reload sshd 此时再次登录直接拒绝访问

centos6如何关闭openssh_IP_20


3.6把私钥给所需要连接的主机

[root@workstation ~]# scp /root/.ssh/id_rsa kiosk@172.25.254.66:/home/kiosk/.ssh

centos6如何关闭openssh_linux_21


3.6.1拥有私钥的状态下不需要输入密码直接登录服务端

centos6如何关闭openssh_linux_22


3.7更改密钥让所有拥有密钥的用户都无法登录

centos6如何关闭openssh_linux_23


centos6如何关闭openssh_运维_24


3.7.1取消限制则需恢复文件原始名称

centos6如何关闭openssh_centos6如何关闭openssh_25


3.7.2更改为authorized_keys则可登录

centos6如何关闭openssh_centos6如何关闭openssh_26


4 Openssh服务的安全优化

sshd服务常用相关配置参数

主配置文件

• /etc/ssh/sshd_config

配置参数

• Port 22           监听端口
• Protocol 2        指定协议版本
• ListenAddress     绑定IP
• HostKey           设定HostKey密钥路径
• PermitRootLogin   设定超级用户是否能登录
• PubkeyAuthentication   公钥认证开关
• PasswordAuthentication 密码认证开关
• AllowUsers    用户白名单
• DenyUsers     用户黑名单

4.1端口更改:编辑/etc/ssh/sshd_config文件

prot 22 改为prot 8888

查看端口命令:netsata

a:所有

l:活跃开启的端口

t:tpp协议

u:upp协议

p:显示进程名称

n:之显示端口值

centos6如何关闭openssh_运维_27


4.1.1注意:为了保证服务能够正常运行需先执行此命令setenforce 0 ,防止程序无法启动

centos6如何关闭openssh_centos6如何关闭openssh_28

4.2 ListenAddress 绑定IP 指定连接某一IP其他IP不能连接

listenAddress 0.0.0.0.表示所以IP都可连接成功

指定连接:#IPlistenAddress 172.25.254.111

下方#listenAddress ::为IPV6

centos6如何关闭openssh_白名单_29

listenAddress 172.25.254.111即只能连接此IP登录

centos6如何关闭openssh_运维_30

4.3HostKey 设定HostKey密钥路径 一般使用设定路径

centos6如何关闭openssh_白名单_31


4.4 PermitRootLogin 设定超级用户是否能登录

设定超级用户能否登录

当前超级用户可以登录:

centos6如何关闭openssh_白名单_32


4.4.1 设定完成后不可以登录超级用户,但可以登录普通用户

设置/etc/ssh/sshd_config中的46行yes改为no即可

centos6如何关闭openssh_白名单_33


4.4.2 完成效果如下:输入三次密码后将直接退出不能登录

centos6如何关闭openssh_运维_34


4.4.3 可以登录普通用户:

centos6如何关闭openssh_IP_35


4.5 黑白名单

PermitRootLogin yes  超级用户的黑白名单即:yes白名单no黑名单

当前所有用户都可登录

centos6如何关闭openssh_centos6如何关闭openssh_36


4.5.1 黑名单设置:设置westos用户不可登录

设置方法

DenyUsers 用户

centos6如何关闭openssh_IP_37


4.5.2重新加载服务配置:

centos6如何关闭openssh_centos6如何关闭openssh_38

4.5.3再次登录如下:除westos用户外其他用户均可登录

centos6如何关闭openssh_IP_39


4.5.4 设置白名单:设置白名单为westos

设置方法

AllowUsers 用户

centos6如何关闭openssh_centos6如何关闭openssh_40


4.5.6 重新加载服务配置

centos6如何关闭openssh_linux_41


4.5.7 再次登录如下:

除westos用户外其他所有用户均不可登录

centos6如何关闭openssh_centos6如何关闭openssh_42