升级OpenSSH的坑

用编译方式重装openssh(成功):

1.首先用yum remove openssh-server删掉原先的包,在openssh官网下载高版本:http://www.openssh.com/openbsd.html(我用的是openssh-7.3p1.tar.gz,在官网没找到,所以在csdn下载了该包)
2.编译安装:tar -xvzf openssh-7.3p1.tar.gz  -C  /opt  &&  cd /opt/openssh-7.3p1
./configure && make && make install  【 ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening】(带参数的没有配置过)
3.拷贝ssh服务文件:cp ./contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
4.修改SSHD服务文件:
vim /etc/init.d/sshd
修改以下内容
SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/sbin/sshd    【25行】
/usr/sbin/ssh-keygen -A 为 /usr/local/bin/ssh-keygen -A    【41行】
保存退出
5.加入系统服务:
chkconfig --add sshd
查看系统启动服务是否增加改项
  chkconfig --list |grep sshd
  sshd               0:off    1:off    2:on    3:on    4:on    5:on    6:off
6.允许root用户远程登录:
cp sshd_config /etc/ssh/sshd_config
vim /etc/ssh/sshd_config 修改 PermitRootLogin yes,并去掉注释
7.配置允许root用户远程登录:
这一操作很重要!很重要!很重要!重要的事情说三遍,因为openssh安装好默认是不执行sshd_config文件的,所以即使在sshd_config中配置允许root用户远程登录,但是不加上这句命令,还是不会生效!
vim /etc/init.d/sshd
在 ‘$SSHD $OPTIONS && success || failure’这一行【51行】上面加上一行 :
OPTIONS="-f /etc/ssh/sshd_config"
保存退出
执行:service sshd start,出现绿色的OK,
执行:service sshd status,此时出现了以下错误信息:
error: sshd dead but subsys locked
解决方法:
rm -rf /dev/null
mknod /dev/null c 1 3
再次启动后,出现了sshd is running,端口和进程都出现了:
service sshd start
service sshd status
     sshd is running......
端口和进程都出现了:
ps aux|grep ssh
netstat -atnlp|grep ssh
搞定。
总结:故障原因未知。用yum方式安装的ssh服务启动不成功,可能是某些与SSH相关联的进程需要通过重启系统才生效(生产环境不允许随便重启系统)。而编译方式安装的ssh,与之前的进程没有关联,所以能启动成功。
至于为何ssh服务会出现故障,暂无法查出原因。编译openssh的时候,可以根据需要添加参数(--with-pam,--with-tcp-wrappers等)。

 

<think>嗯,用户需要在银河麒麟V10 SP3 ARM系统上升级OpenSSH。这是个比较专业的系统运维操作,用户可能是企业IT管理员或国产化系统维护人员,对系统稳定性要求很高。 用户明确指向特定版本(SP3 ARM),说明ta的环境很具体,不是泛泛而问。考虑到ARM架构和x86的差异,需要特别注意编译参数和依赖库的兼容性。 首先得解决几个关键点:系统版本确认、源码编译的风险、国产化平台的兼容性。银河麒麟基于CentOS,但又有自己的定制部分,直接使用CentOS的二进制包可能出问题,所以更推荐源码编译。不过源码编译在生产环境有风险,需要强调备份和回滚方案。 用户没提具体要升级到哪个OpenSSH版本,但生产环境通常需要最新的稳定版(当前9.6p1),所以默认推荐这个。不过要注意9.4以上版本需要OpenSSL 1.1.1以上,而麒麟V10默认是1.1.1,正好满足。 操作步骤需要拆解清楚:从依赖检查、用户创建到编译参数。特别要强调禁用密码登录这个安全措施,很多用户会忽略。回退方案也得写详细,万一编译失败要能快速还原。 最后的风险提示不能少,尤其是国产化平台可能遇到的:比如arm架构下的性能优化参数、麒麟特有的PAM模块兼容性。用户如果真在生产环境操作,肯定需要这些预警。 相关问题设计要覆盖延伸需求:版本选择依据、安全加固、漏洞修复——这些都是运维实际会遇到的后续问题。特别是麒麟系统,第三方源验证特别重要。 </think>在银河麒麟Kylin V10 SP3 ARM系统上升级OpenSSH需通过源码编译安装,具体步骤如下: ### 一、准备工作 1. **系统备份** ```bash sudo tar -czpf /backup/openssh_backup.tar.gz /etc/ssh /usr/bin/ssh* /usr/sbin/sshd ``` 备份关键文件防止升级失败导致系统不可用[^1]。 2. **安装依赖** ```bash sudo yum install -y gcc make pam-devel zlib-devel openssl-devel wget ``` 3. **下载源码** 获取最新稳定版(如9.6p1): ```bash wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz tar -xzf openssh-9.6p1.tar.gz cd openssh-9.6p1 ``` ### 二、编译安装 ```bash # 配置编译参数(ARM需指定架构) ./configure --prefix=/usr --sysconfdir=/etc/ssh \ --with-pam --with-ssl-dir=/usr --with-zlib \ --host=aarch64-linux-gnu # 编译并安装 make -j$(nproc) sudo make install ``` ### 三、关键配置 1. **恢复配置文件** ```bash sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak sudo cp /backup/openssh_backup.tar.gz/etc/ssh/sshd_config /etc/ssh/ # 保留原配置 ``` 2. **启用新服务** ```bash sudo systemctl daemon-reload sudo systemctl restart sshd ``` ### 四、验证升级 ```bash ssh -V # 应显示 OpenSSH_9.6p1 systemctl status sshd # 检查服务状态 ``` ### ⚠️ 风险提示 1. **回滚方案** 若升级失败: ```bash sudo tar -xzf /backup/openssh_backup.tar.gz -C / sudo systemctl restart sshd ``` 2. **兼容性注意** ARM架构需确认: - 编译参数 `--host=aarch64-linux-gnu` 适配芯片 - 检查 `/usr/lib64/` 下是否存在缺失的OpenSSL库 3. **安全加固建议** 升级后建议: ```bash sudo sed -i &#39;s/#PasswordAuthentication yes/PasswordAuthentication no/&#39; /etc/ssh/sshd_config sudo systemctl restart sshd # 禁用密码登录 ``` --- ### 相关问题 1. 如何验证OpenSSH升级后的安全性? 2. 在ARM架构编译时出现 `configure: error: OpenSSL headers missing` 如何解决? 3. 升级OpenSSH后SFTP服务不可用该如何排查? 4. Kylin V10 SP3系统如何回退到官方自带OpenSSH版本? [^1]: 系统备份可避免因升级失败导致无法远程登录的致命风险,尤其在ARM架构的国产化平台更为关键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值