ssh 用密码连接不上、查看openSSH 的版本、CentOS - 升级openSSH,修复安全漏洞

一  ssh密码连接

1,检查ssh配置文件

#vim /etc/ssh/sshd_config

130 UseDNS no
131 AddressFamily inet
132 PermitRootLogin yes
133 SyslogFacility AUTHPRIV
134 PasswordAuthentication yes         #开启密码登录验证

#systemctl restart sshd
 

2,ssh,用root登陆,密码明明正确却拒绝连接,这时就需要更改一下设置。

安装了openssh才会有这个文件,如果文件不存在请检查是否安装了openssh。

修改sshd_config文件,注意ssh_config是针对客户端的配置文件,而sshd_config是针对服务器端的配置文件。千万不要弄错了。

vim sshd_config

将 # Authentication:

LoginGraceTime 120

PermitRootLogin prohibit-password

StrictModes yes

改为:

# Authentication:

LoginGraceTime 120

PermitRootLogin yes

StrictModes yes

3, Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。

 

二   ssh版本

# ssh -V

 

 

三    CentOS - 升级openSSH,修复安全漏洞

在Linux上,ssh服务可以说是最重要的服务之一,远程管理基本都是使用这个了。然而如果出现漏洞,就存在很大的风险,需要及时升级ssh版本来修复漏洞。

Centos通过yum升级OpenSSH

在官方支持更新的CentOS版本,如果出现漏洞,都会通过更新版本来修复漏洞。这时候直接使用yum update就可以升级版本。

#   yum -y update openssh

但是,CentOS更新需要有一段时间,不能在漏洞刚出来的时候就有更新包。这时候就可以使用源码编译OpenSSH,来升级版本,修复漏洞。

源码编译安装OpenSSH

ssh 用密码连接不上、查看openSSH 的版本、CentOS - 升级openSSH,修复安全漏洞_第1张图片

编译的时候需要一些依赖包及编译工具,需要先安装一下。

yum -y install wget tar gcc make wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gzwget -c https://www.openssl.org/source/openssl-1.0.2q.tar.gzwget -c http://36.248.244.147/files/723900000023DE00/www.zlib.net/zlib-1.2.11.tar.gztar zxvf openssh-7.9p1.tar.gztar zxvf openssl-1.0.2q.tar.gztar zxvf zlib-1.2.11.tar.gzcd zlib-1.2.11./configure --prefix=/usr/local/zlibmake && make install cd ../openssl-1.0.2q./config --prefix=/usr/local/ssl -d shared #默认没有编译出.so的文件,而openssh编译的时候需要,所以需要手动添加 -d shared的选项make && make install echo '/usr/local/ssl/lib' >> /etc/ld.so.confldconfig -v cd ../openssh-7.9p1./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/sslmake && make install

启动

#   /usr/local/openssh/sbin/sshd -f /usr/local/openssh/etc/sshd_config

如果不指定配置文件也可以,默认就是加载 /usr/local/openssh/etc/sshd_config

如果是CentOS6可以修改/etc/init.d/sshd中的对应路径即可,如果是CentOS 7需要修改/usr/lib/systemd/system/sshd.service。

ssh 用密码连接不上、查看openSSH 的版本、CentOS - 升级openSSH,修复安全漏洞_第2张图片

为了方便使用可以修改PATH变量

#  echo 'PATH=/usr/local/openssh/bin:/usr/local/openssh/sbin:$PATH' >> /etc/profile source /etc/profile ssh -V

OpenSSH_7.9p1, OpenSSL 1.0.2q 20 Nov 2018

回退

如果是使用yum一般都是没有问题,都是经过测试的。

如果是源码编译回退也是简单,只要把启动脚本里面的程序路径修改一下即可。

总结

升级过程一般不可能跑去机房蹲着升级;如果是yum升级,也是比较稳定的,直接重启sshd服务即可。

如果是源码编译呢?也可以直接kill sshd这个进程,远程是不会断开了,升级过程都不要断开,然后真的就连接不上了。

如果怕网络突然断开,导致远程连接不上,可以先启动sshd进程,使用 -f 制定另外的配置文件,端口指定非22端口,等升级完成,再关闭即可。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(#,#,运维-ssh)