AnolisOS_8.10升级OpenSSH ok

AnolisOS_8.10升级OpenSSH ok

第一步:前期配置

#关闭防火墙
systemctl stop firewalld.service
#禁止开机自启
systemctl disable firewalld.service
#关闭selinux
#永久关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
#临时关闭
setenforce 0

第二步:配置telnet

#安装telnet
yum -y install telnet telnet-server xinetd
#配置 xinetd(重点)
cat << 'EOF' > /etc/xinetd.d/telnet
service telnet
{
    disable     = no
    flags       = REUSE
    socket_type = stream
    wait        = no
    user        = root
    server      = /usr/sbin/in.telnetd
    log_on_failure  += USERID
}
EOF

#允许root用户登录
echo -e "pts/0\npts/1\npts/2" >> /etc/securetty
#设置xinetd开机自启
systemctl restart xinetd
systemctl enable  xinetd
systemctl status  xinetd

第三步:升级OpenSSH_10.4p1

# 更新并安装依赖
dnf groupinstall -y "Development Tools"
dnf install -y wget openssl-devel zlib-devel pam-devel libselinux-devel
# 备份配置文件目录
cp -r /etc/ssh /etc/ssh.bak
# 备份系统服务文件
cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
# 进入下载目录
cd /usr/local/src
# 下载源码包
wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-10.4p1.tar.gz
# 解压
tar -zxvf openssh-10.4p1.tar.gz
# 进入解压目录
cd openssh-10.4p1
# 编译
./configure --prefix=/usr \
            --sysconfdir=/etc/ssh \
            --with-md5-passwords \
            --with-pam \
            --with-zlib \
            --with-ssl-dir=/usr \
            --with-selinux \
            --with-privsep-path=/var/empty/sshd
# 将所有私钥文件的权限修改为 600(仅 root 可读写)
chmod 0600 /etc/ssh/ssh_host_*_key
# 将所有公钥文件的权限修改为 644(所有者可写,其他人可读)
chmod 0644 /etc/ssh/ssh_host_*.pub
# 安装
make -j $(nproc)
make install
# 允许 Root 密码登录(可选)
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
# 启用 PAM 认证(强烈建议,否则可能因密码策略无法登录)
echo "UsePAM yes" >> /etc/ssh/sshd_config
# 注释 GSSAPIAuthentication
sed -i 's/^GSSAPIAuthentication/#GSSAPIAuthentication/' /etc/ssh/sshd_config
# 注释 GSSAPICleanupCredentials
sed -i 's/^GSSAPICleanupCredentials/#GSSAPICleanupCredentials/' /etc/ssh/sshd_config
# 临时关闭 SELinux
setenforce 0
#修改 Systemd 服务文件(解决 $CRYPT_POLICY 参数不兼容问题)
sed -i 's|^ExecStart=/usr/sbin/sshd -D.*|ExecStart=/usr/sbin/sshd -D|' /usr/lib/systemd/system/sshd.service
# 推荐保留并清理 systemd 缓存:
systemctl daemon-reload
# 重启ssh服务
systemctl restart sshd
systemctl status sshd
#查看SSH版本
ssh -V

第四步:关闭telnet

systemctl stop xinetd
systemctl disable xinetd

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容