升级ssh到OpenSSH_7.5p1
Redhat 6.5 x64升级SSH到OpenSSH_7.5p1
为了防止openssh安装失败导致不能远程登录,先部署telnet服务以防万一。
rpm -qa telnet telnet-server xinetd
如果没有就yum安装
配置/etc/xinetd.d/telnet
service telnet
{
socket_type=stream
wait=no
user=root
server=/usr/sbin/in.telnetd
log_on_failure+=USERID
disable=no
}
第一行,说明该配置用来设置telnet服务。
第二行,说明Socket连接类型是stream,也就是TCP
第三行,是指不等待到启动完成
第四行,是指以root用户启动服务进程
第五行,是指服务进程是/usr/sbin/in.telnetd
第六行,是用于做一些出错日志
第七行,是指禁止远方telnet,如果需要开放则将该配置改为:disable=no
使用root用户登录
telnet 默认的情况之下不允许 root 以 telnet 进入 Linux 主机,在普通用户telnet进入系统之后,在切换到root用户就可以使用root用户了。如果非要使用root登录,可以使用修改/etc/securetty文件。
增加
pts/0
pts/1
pts/2
pts/3
pts/4
一般不建议直接用root用户远程通过telnet登陆系统,因为telnet在数据传输过程采用明文方式,如果数据包被人截获,将会很容易获取root用户的登陆口令;还是建议以普通用户通过telnet远程登陆,然后su到root,这样相对比较安全。如果非要用root用户远程连接,建议采用SSH,部署完之后在把/etc/xinetd.d/telnet disable=no 或者禁止telnet端口。
修改文件/etc/services将文件中
可以修改telnet端口连接方式比如
telnet 8902/tcp
telnet 8902/udp
重启telnet服务即可。
/etc/init.d/xinetd restart
iptables -I INPUT -p tcp --dport 23 -j ACCEPT
安装编译所需工具包
# yum -y install gcc pam-devel zlib-devel openssl-devel
升级openssl
#find / -name openssl
mv /usr/lib64/openssl /usr/lib64/openssl.old
mv /usr/bin/openssl /usr/bin/openssl.old
mv /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
如下两个库文件必须先备份,因系统内部分工具(如yum、wget等)依赖此库,而新版OpenSSL不包含这两个库
# cp /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10.old # cp /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.old
解压openssl_1.0.2 l源码并编译安装 tar -zxvf openssl-1.0.2l.tar.gz cd openssl-1.0.2l ./config --prefix=/usr --openssldir=/etc/ssl --shared zlib
make
make test
make install
openssl version -a
恢复共享库
mv /usr/lib64/libcrypto.so.10.old /usr/lib64/libcrypto.so.10
mv /usr/lib64/libssl.so.10.old /usr/lib64/libssl.so.10
升级openssh
备份当前openssh
mv /etc/ssh /etc/ssh.old
install -v -m 700 -d /var/lib/sshd
chown -v root:root /var/lib/sshd
解压openssh_7.5p1源码并编译安装
tar -zxvf openssh-7.5p1.tar.gz cd openssh-7.5p1 ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd make make install 在openssh编译目录执行如下命令 install -v -m 755 contrib/ssh-copy-id /usr/bin install -v -m 644 contrib/ssh-copy-id.1 /usr/share/man/man1 install -v -m 755 -d /usr/share/doc/openssh-7.5p1
启动openssh服务
echo "X11Forwarding yes" >> /etc/ssh/sshd_config echo "PermitRootLogin yes" >> /etc/ssh/sshd_config #允许root用户通过ssh登录 echo "Allowusers root" >> /etc/ssh/sshd_config cp -p contrib/redhat/sshd.init /etc/init.d/sshd chmod +x /etc/init.d/sshd chkconfig --add sshd chkconfig sshd on chkconfig --list sshd service sshd restart
机子重启后不重启服务不能连,受selinux影响,
# vi /etc/selinux/config
修改 SELINUX=disabled
在命令行中输入setenforce 0临时关闭selinux
setenforce 0
如果xshell连接在重启之后突然关闭,就在用telnet连接开启sshd服务
来自:https://blog.csdn.net/chengcm/article/details/77104514