CentOS 5.X自带的OpenSSH版本很低,还是4.3P2的,不支持SFTP Chroot功能,而且一些漏洞扫描工具会根据版本号报出openssh漏洞,加上之前的心脏出血漏洞,也有升级OpenSSL的需求。
因此,特总结了以下三种升级到新版本的方法:
实际操作中如果提前将自动超时取消(执行 export TMOUT=0),并在未最终升级完openssh前不重启ssh服务,一般都不会断开远程ssh连接。
为了升级安全,可先启用telnet服务,默认系统是没有启用这个服务的。
启用Telnet远程管理
点击(此处)折叠或打开
vi /etc/xinetd.d/krb5-telnet
# default: off
# description: The kerberized telnet server accepts normal telnet sessions, \
# but can also use Kerberos 5 authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/kerberos/sbin/telnetd
log_on_failure += USERID
disable = no
}
修改disable为no,默认为yes,即禁用telnet服务。修改为no,即表示启用telnet服务。
重启xinetd,开启Telnet服务,如果没有安装xinetd的话,需要先进行安装
点击(此处)折叠或打开
yum install xinetd
yum install telnet-server
然后重启服务
点击(此处)折叠或打开
service xinetd restart
检查Telnet是否正常启动
点击(此处)折叠或打开
netstat -tnlp | grep :23
注意:为了安全,Telnet是不能以root直接登陆的,以普通用户登录后再su切换root,SSH升级成功后,记得关闭telnet服务。
方法一:源码包编译安装
点击(此处)折叠或打开
wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-6.9p1.tar.gz
tar xvf openssh-6.9p1.tar.gz
cd openssh-6.9p1
./configure --prefix=/usr --sysconfdir=/etc/ssh
make
make install
上面的方法会覆盖原版本的文件,make install覆盖/etc/ssh下配置文件时可能会报错,这时把/etc/ssh下的原配置文件备份并删除,再make install一次就可以了。
建议安装还是换个路径比较好,特别是线上服务器。下面给出的是官方给出的几种方案,根据自己情况调整吧!
点击(此处)折叠或打开
To install OpenSSH with default options:
./configure
make
make install
This will install the OpenSSH binaries in /usr/local/bin, configuration files
in /usr/local/etc, the server in /usr/local/sbin, etc. To specify a different
installation prefix, use the --prefix option to configure:
./configure --prefix=/opt
make
make install
T