升级openssh9.5p1.

升级openssh9.5p1.

上传 openssh-9.5p1.tar.gz

1.安装telnet-server安装配置telnet服务(重要!!!)
OpenSSH用于远程登录,一旦升级失败用不了,将无法远程登录,安装telnet-server备用。

yum install telnet-server -y

配置类型:

cat >> /etc/securetty <<EOF
pts/0
pts/1
pts/2
pts/3
pts/5
EOF

开启自启动:

systemctl enable telnet.socket

启动telnet:

systemctl start telnet.socket

添加防火墙例外:防火墙没开可以不做

firewall-cmd --zone=public --add-port=23/tcp --permanent
firewall-cmd --reload

注意:telnet默认只允许普通用户登录,
上面那步
cat >> /etc/securetty <<EOF
pts/0
pts/1
应该是用来设置允许超管账户登录的 ,但是我设置了没用,所以先加了个普通账户,然后再su root 切换超管用户。

设置普通账户:
在root权限下,
命令:useradd+用户名,它不会在/home目录下创建同名文件夹,也没有创建密码,因此利用这个用户登录系统,是登录不了的;
命令:useradd -m +用户名,将在/home目录下创建同名文件夹,然后利用( passwd + 用户名)为指定的用户名设置密码。

重要!!!先确保除了远程外有别的方式可以连接到服务器,比如vnc、telnet再进行以下操作。
我是确认有管理人员那边有vnc,并且自己测试telnet能连接要操作的这台机器后才进行的以下操作,需要同一网段的其他机器telnet上去。

2.安装引用库:

yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel wget vim unzip lrzsz(openssl所需依赖)
yum install -y wget gcc pam-devel libselinux-devel zlib-devel openssl-devel
yum -y install perl(openssh所需依赖)

确保yum源能用 不然到时候卸载了原来的openssh少了包没法上传安装)

http://mirror.centos.org/centos/7/os/x86_64/Packages/
或者可以从这个链接里搜索下载

3.备份之前的ssh

cp -r /etc/ssh/ /etc/ssh_old/

可以百度一下备份的地方全不全,这个我没用到恢复,不太确定有没有用

4.卸载旧OpenSSH:(谨慎操作)

yum remove openssh -y
rm -rf /etc/ssh/*

5.解压openssh-9.5p1.tar.gz

tar -zxvf openssh-9.5p1.tar.gz -C /usr/local

6.进入openssh-9.5p1

cd openssh-9.5p1

7.开始编译安装:

./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam && make -j 4  && make install

8.如果顺利,你将看到最后2行:
如果不顺利,可以看看我下面踩的坑。

ssh-keygen:......ECDSA ED25519
/usr/sbin/sshd......

至此一切顺利,接下来的操作:

cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on

修改配置,允许root登录和证书登录:

vim /etc/ssh/sshd_config

将 PasswordAuthentication yes 注释打开
配置 PermitRootLogin yes

echo PasswordAuthentication yes  >> /etc/ssh/sshd_config
echo PermitRootLogin yes  >> /etc/ssh/sshd_config

重启服务完成升级

service sshd restart

验证是否能通过堡垒机远程到服务器
没问题后关闭telnet服务

systemctl stop telnet.socket

取消开机自启

systemctl disable telnet.socket

删除telnet端口23,前面没开防火墙的可以不做这一步

firewall-cmd --permanent --zone=public --remove-port=23/tcp
firewall-cmd --reload

------------------------------------------------------------分割线----------------------------------------------------------------
踩坑大全:
卸载旧的openssh后,意味着远程连接不可用,scp、rz、ftp、sftp等等都不能用,我的yum也不能用了,没法上传文件,但是之前的telnet派上用场了,能进入输命令操作(或多开几个窗口别关也不会被锁在外面)

具体报错记不清了好像是缺少一些什么包之类的,这个要注意,如果yum不能用,就要提前确保所有需要的依赖包都下载备好,不然后期都没法上传文件,我就是吃了这个亏,升级ssh所需的依赖包都要准备好!!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值