Centos7离线安装Telnet及离线升级openssh至最新版本
Telnet下载
telnet-0.17-65.el7_8.x86_64.rpm
telnet-server-0.17-65.el7_8.x86_64.rpm
xinetd-2.3.15-14.el7.x86_64.rpm
Tennet安装
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
修改配置
vi /etc/xinetd.d/telnet
修改后内容如下,需要将disable改为no,后续安装完成后将其改为yes重启或关闭xinetd服务即可关闭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
}
Openssh下载
Openssh安装
1、解压并编译安装zlib-1.2.13
tar -xzvf zlib-1.2.13.tar.gz
cd zlib-1.2.13
./configure --prefix=/usr/local/zlib
make && make install
2、解压并编译安装openssl
tar -xzvf openssl-1.1.1g
cd openssl-1.1.1g
./config --prefix=/usr/local/ssl -d shared
make && make install
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v
3、解压并编译安装openssh
tar -xzvf openssh-9.2p1.tar.gz
cd openssh-9.2p1
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make && make install
sshd_config文件修改
echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config
备份后复制新配置
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
启动sshd并查看版本号
service sshd restart
[root@localhost~]# ssh -V
OpenSSH_9.2p1, OpenSSL 1.1.1g 21 Apr 2020
故障排查:
1、升级完成后重启sshd服务报错如下:
[root@localhost~]# systemctl restart sshd
Job for sshd.service failed. See 'systemctl status sshd.service' and 'journalctl -xn' for details.
查看日志:
[root@localhost~]# journalctl -u sshd.service
有如下报错信息
3月 02 14:21:20 localhost systemd[1]: Starting SYSV: OpenSSH server daemon...
3月 02 14:21:20 localhost sshd[13955]: Starting sshd:[ 确定 ]
3月 02 14:21:20 localhost systemd[1]: PID file /var/run/sshd.pid not readable (yet?) after start.
3月 02 14:21:20 localhost systemd[1]: Started SYSV: OpenSSH server daemon.
3月 02 14:32:29 localhost systemd[1]: Stopping SYSV: OpenSSH server daemon...
3月 02 14:32:29 localhost sshd[13961]: Received signal 15; terminating.
3月 02 14:32:29 localhost sshd[25916]: Stopping sshd:[ 确定 ]
3月 02 14:32:29 localhost systemd[1]: Starting SYSV: OpenSSH server daemon...
3月 02 14:32:29 localhost sshd[25926]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
3月 02 14:32:29 localhost sshd[25920]: Starting sshd:[ 确定 ]
3月 02 14:32:29 localhost systemd[1]: PID file /var/run/sshd.pid not readable (yet?) after start.
22端口被占用导致sshd无法启动
[root@localhost~]# sudo lsof -i :22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root 42u IPv6 2721 0t0 TCP *:ssh (LISTEN)
可确认systemd进程pid为1,此时占用22端口
解决方案:
断开ssh连接,使用telnet连接服务器
[root@localhost~]# kill -9 1
[root@localhost~]# systemctl restart sshd
sshd此时启动成功,s远程连接测试正常
断开telnet并关闭telnet功能
service xinetd stop
systemctl disabled xinetd
结束。
版权声明:
作者:磷雅
链接:https://lblog.net/?p=282
来源:Lblog
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
海报
Centos7离线安装Telnet及离线升级openssh至最新版本
Telnet下载
telnet-0.17-65.el7_8.x86_64.rpm
telnet-server-0.17-65.el7_8.x86_64.rpm
xinetd-2.3.15-14.el7.x86_64.rpm
Tennet安装
rpm -ivh xinetd-2.3.15-……

文章目录
关闭
共有 0 条评论