升级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

 

 如下两个库文件必须先备份,因系统内部分工具(如yumwget等)依赖此库,而新版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

 

posted on 2018-12-28 09:44  luck666  阅读(376)  评论(0编辑  收藏  举报

导航