- 检查 安装telnet-server服务(防止升级异常,无法远程登录)
yum源可用的情况下优先使用yum安装方式
yum install telnet-server (yum可以自动处理依赖 )
手动安装-下载软件包centos 6 版本 (centos7不通用)
(wget http://mirror.centos.org/centos/6/os/x86_64/Packages/telnet-server-0.17-48.el6.x86_64.rpm)
(wget http://www.rpmfind.net/linux/centos/6.10/os/x86_64/Packages/xinetd-2.3.14-40.el6.x86_64.rpm)
rpm -ivh xinetd-2.3.14-40.el6.x86_64.rpm
rpm -ivh telnet-server-0.17-48.el6.x86_64.rpm
centos7版本(暂时没遇到缺失xinetd的情况,所以直接安装telnet即可。若提示缺失xinetd ,http://www.rpmfind.net/linux/centos/6.10/os/x86_64/Packages下载新版并安装)
(wget http://mirror.centos.org/centos/7/os/x86_64/Packages/telnet-server-0.17-64.el7.x86_64.rpm )
rpm -ivh telnet-server-0.17-64.el7.x86_64.rpm
修改/etc/xinetd.d/telnet文件
disable = no
加pts 使得telnet可以root登录
vi /etc/securetty 添加如下:
pts/0
pts/1
启动或重启xinetd服务
#service xinetd restart
telnet服务器验证是否可以登录( Secure CRT选择telnet协议,prot:23 测试root是否可以登录 )
2、安装最新的zlib (最新) (很多服务器ssl都升级过了,检查一下,升级过的可以省略2.3步)
先到http://www.gzip.org/zlib/下载最新的zlib-xxxx.tar.gz安装包
#tar –zxvf zlib-1.2.8.tar.gz
进入解压目录执行
#./configure --prefix=/usr/local/zlib
#make
#make install
3、升级openssl(最新)
#tar zxvf openssl-xxx.tar.gz
进入解压目录执行
#./config --shared zlib
一定记得加上--shared选项, 否则openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配
#make
#make test
(这一步很重要哦!是进行 SSL 加密协议的完整测试,如果出现错误就要一定先找出哪里的原因,否则一味继续,可能最终导致 SSH 不能使用,后果很严重的!)
#make install
安装完成后查看版本
/usr/local/ssl/bin/openssl version -a
备份原版本文件
#mv /usr/bin/openssl /usr/bin/openssl_bak
#ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#配置库文件搜索路径,如果不配置安装Openssh时报错openssl 版本没有找到,头文件没有找到
#ldconfig -v
-v选项,输出正在扫描的目录及搜索到的共享库,执行结束后,ldconfig将刷新缓存文件/etc/ld.so.cache.
再次查看版本
#openssl version -a
4、升级openssh至8.0版本
下载地址:
http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/
wget http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz
备份原配置:
cp -r /etc/ssh /etc/ssh_bak
删除原版本
rpm -e openssh-clients-5.3p1-124.el6_10.x86_64 --nodeps
rpm -e openssh-server-5.3p1-124.el6_10.x86_64 --nodeps
rpm -e openssh-5.3p1-124.el6_10.x86_64 --nodeps
解压8.0 版本ssh 编译安装:
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make
make install
在解压的目录下,
cd /tmp/openssh-8.0.p1/contrib/redhat
cp sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd
chkconfig --add sshd
允许ssh root登录,
vi /etc/ssh/sshd_config 添加一行
PermitRootLogin yes
测试ssh功能是否正常
service sshd restart
(这一步的逻辑应该是先停止再启动,所以就会有一个问题——ssh停止之后就会直接断开,从而无法执行启动命令,导致ssh处于关闭状态。所以应该telnet远程连接之后执行此命令,然后测试ssh是否正常。)
5、关闭telnet-server服务
修改 /etc/xinetd.d/telnet文件
disable = yes
关闭 xinetd服务
#service xinetd stop