1.openSSH下载
查看当前的ssh版本
[root@test1 ~]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
SSH下载地址:
https://ftp.yzu.edu.tw/pub/OpenBSD/OpenSSH/portable/
2.打开telnet服务
升级openssh之前,最好先打开telnet服务
2.1安装telnet服务
如果操作系统是centos6:
yum install xinetd telnet-server
2.2修改telnet配置文件,将disable修改为no:
vi /etc/xinetd.d/telnet
[root@test1 bin]# vi /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
2.3打开telnet服务
service xinetd restart
2.4如果是centos7则直接安装telnet服务
yum install telnet-server
2.5启动telnet服务
systemctl start telnet.socket
2.6启动root登录
默认情况下,telnet不允许root用户登陆,需要做些配置。
在 /etc/securetty 文件最后,多添加一些pts终端入口,就可以以root用户登陆了
vi /etc/securetty
pts/0
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
pts/8
pts/9
3.备份ssh配置文件
cp -rf /etc/ssh /etc/ssh.bak
4.编译安装openSSH 8.2
安装依赖包:
yum install -y openssl-devel
源码安装openSSH:
tar zxvf openssh-8.2p1.tar.gz
cd openssh-8.2p1
./configure --prefix=/usr/local/openssh8
make
make install
centos6:
mv /usr/sbin/sshd /usr/sbin/sshd.bak
ln -sv /usr/local/openssh8/sbin/sshd /usr/sbin/sshd
####修改/etc/init.d/sshd中的SSHD路径:
####vi /etc/rc.d/init.d/sshd
####SSHD=/usr/local/openssh8/sbin/sshd
echo "export PATH=/usr/local/openssh8/bin:$PATH" >>/etc/profile
. /etc/profile
新的OpenSSH的配置文件是在/usr/loca/openssh8/etc/ssh
mv /etc/ssh /etc/ssh.bak
ln -sv /usr/local/openssh8/etc /etc/ssh
允许root用户登录:
vi /etc/ssh/sshd_config
PermitRootLogin yes
service sshd restart
CentOS7系统:
禁用原先的SSH服务,并移除服务文件
systemctl disable sshd
mv /usr/lib/systemd/system/sshd.service /sshd.service
在OpenSSH_8.0p1源码包中,把一些服务文件复制到系统中:
cp contrib/redhat/sshd.init /etc/init.d/sshd
cp contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod +x /etc/init.d/sshd
###修改/etc/init.d/sshd中的SSHD路径:
### vim /etc/init.d/sshd
####SSHD=/usr/local/sbin/sshd
mv /usr/sbin/sshd /usr/sbin/sshd.bak
ln -sv /usr/local/openssh8/sbin/sshd /usr/sbin/sshd
echo "export PATH=/usr/local/openssh8/bin:$PATH" >>/etc/profile
. /etc/profile
启用新的sshd后,由于新版本的OpenSSH默认不允许root用户登录,如果需要使用root远程登录,还需要做一下设置。如果不需要,可以直接重启服务。
新的OpenSSH的配置文件是在/usr/loca/openssh8/etc/ssh
mv /etc/ssh /etc/ssh.bak
ln -sv /usr/local/openssh8/etc /etc/ssh
vi /etc/ssh/sshd_config
PermitRootLogin yes
重启服务:
# systemctl daemon-reload
# systemctl restart sshd
5.关闭和禁用telnet
centos6:
service stop xinetd
vi /etc/xinetd.d/tenet
将disable修改为yes
centos7:
systemctl disable xinetd
systemctl disable telnet.socket
systemctl stop xinetd.service
systemctl stop telnet.socket