xinetd-2.3.15-14.el7.x86_64.rpm
telnet-0.17-65.el7_8.x86_64.rpm
telnet-server-0.17-65.el7_8.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm
gcc-c++-4.8.5-44.el7.x86_64.rpm
openssh-9.3p1.tar.gz
openssl-devel-1.0.2k-25.el7_9.x86_64.rpm
pam-devel-1.1.8-23.el7.x86_64.rpm
zlib-devel-1.2.7-20.el7_9.x86_64.rpm
zlib-1.2.7-20.el7_9.x86_64.rpm
kernel-headers-3.10.0-1160.el7.x86_64.rpm
以上安装包链接:https://pkgs.org/
1.rpm安装
rpm -ivh xinetd-2.3.15-14.el7.x86_64.rpm
rpm -ivh telnet-0.17-65.el7_8.x86_64.rpm
rpm -ivh telnet-server-0.17-65.el7_8.x86_64.rpm
2.启动telnet
service xinetd restart
systemctl restart telnet.socket
1.将openssh9.3安装包解压
tar -zxvf openssh-9.3p1.tar.gz
cd openssh-9.3p1
2.备份配置文件
cp /etc/ssh/sshd_config sshd_config.backup
cp /etc/pam.d/sshd sshd.backup
3.编译配置
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam
注意:这一步不能出现错误,如果出现错误一般是缺少依赖,缺少哪个就安装上面准备的包即可,基本上根据名字就能看出是哪个包,稍有不同的下面已经列出来了
这个问题是 c语言编译环境不对,这个是最麻烦的问题,因为找不到缺少了哪些包,查看config.log会提示缺少某个文件,一般是缺少gcc,gcc-c++,kernel-headers等,把这几个安装上再试试
rpm -ivh kernel-headers-3.10.0-1160.el7.x86_64.rpm --nodeps --force
rpm -ivh gcc-c++-4.8.5-44.el7.x86_64.rpm --nodeps --force
rpm -ivh gcc-4.8.5-44.el7.x86_64.rpm --nodeps --force
这个是缺少openssl,安装openssl即可
rpm -ivh openssl-devel-1.0.2k-25.el7_9.x86_64.rpm --nodeps --force
编译结果如下图即为成功
4.卸载旧版本,务必上一步完成之后再进行这一步,因为旧版本卸载之后将无法使用ssh登陆服务器和上传文件
rpm -e --nodeps `rpm -qa | grep openssh`
5.编译安装
make && make install
如下图即为成功
6.调整文件权限
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
7.复制配置文件
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd
8.还原之前备份的配置文件
cp sshd_config.backup /etc/ssh/sshd_config
cp sshd.backup /etc/pam.d/sshd
9.设置root用户可以远程登陆
sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config
10.设置开机自动启动
chkconfig --add sshd
chkconfig sshd on
11.重启ssh
systemctl restart sshd
12.验证
ssh -V