网站首页 > 博客文章 正文
openssh下载链接:https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz
1.备份原来的pam.d下的sshd文件
mv /etc/pam.d/sshd /etc/pam.d/sshd-bak && ls -l /etc/pam.d/sshd* && cp -r /etc/ssh /etc/ssh-bak
当备份pam.d下的sshd文件时,发现该路径下没有此文件,可以从其他服务器拷贝一个过来,或是执行vi /etc/pam.d/sshd,输入如下内容
cat <<EOF> /etc/pam.d/sshd
#%PAM-1.0
auth substack password-auth
auth include postlogin
account required pam_sepermit.so
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session optional pam_motd.so
session include password-auth
session include postlogin
EOF
2.解决依赖关系
Linux7.x
yum -y install wget gcc zlib-devel openssl-devel pam-devel libselinux-devel tar net-tools telnet \
telnet-server xinetd make cmake
Linux8.x
dnf -y install wget gcc zlib-devel openssl-devel pam-devel libselinux-devel tar net-tools telnet \
telnet-server xinetd make cmake
Linux9.x
dnf -y install wget gcc zlib-devel openssl-devel pam-devel libselinux-devel tar net-tools telnet \
telnet-server make cmake
3.设置telnet开机启动,是为了防止在卸载旧版ssh的时候出现中断后无法连接服务器
Linux9.x系统,需要下载一个Linux7.0或Linux8.x的xinetd文件安装
wget https://dl.rockylinux.org/pub/rocky/8/AppStream/x86_64/os/Packages/x/xinetd-2.3.15-25.el8.x86_64.rpm && \
dnf -y localinstall xinetd-2.3.15-25.el8.x86_64.rpm
修改xientd配置文件
touch /etc/xinetd.d/telnet && \
cat <<EOF> /etc/xinetd.d/telnet
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
EOF
加入开机自启并启动telnet服务
systemctl daemon-reload && systemctl enable xinetd && systemctl start xinetd
4.卸载原来的openssh
rpm -e --nodeps `rpm -qa | grep openssh`
5.解决在编译的时候提示权限过高
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
6.下载并解压最新的openssh
cd /tmp && wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz && \
tar xf openssh-9.7p1.tar.gz && \
cd openssh-9.7p1 && \
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam \
--with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib \
--without-hardening && make && make install
7.复制配置文件并设置允许root用户远程登录
Linux7.x 或 Linux8.x添加如下内容
#Linux7.x 或 Linux8.x添加如下内容
cd /tmp/openssh-9.7p1 && \
cp -a contrib/redhat/sshd.init /etc/init.d/sshd && \
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam && \
chown -R root.root /etc/init.d/sshd && \
chmod u+x /etc/init.d/sshd
Linux9.x系统添加如下内容
cat <<EOF>/usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
After=network.target
[Service]
Type=forcking
EnvironmentFile=-/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecStop=/bin/kill-s QUIT $MAINPID
ExecReload=/usr/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
EOF
8.修改配置文件/etc/ssh/sshd_config
#1.修改#PermitRootLogin prohibit-password项,去掉注释#并把prohibit-password改为yes,修改后即为PermitRootLogin yes
#2.去掉注释#PasswordAuthentication yes变为PasswordAuthentication yes
sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config && \
sed -i "s/#PasswordAuthentication yes/PasswordAuthentication yes/g" /etc/ssh/sshd_config
9.添加添加自启服务ssh到开机启动项
Linux7.x或Linux8.x
chkconfig --add sshd && chkconfig sshd on
Linux9.x
systemctl daemon-reload && systemctl enable sshd && systemctl restart sshd
10.验证结果
ssh -V
如果重启发现sshd无法启动,如下图所示
解决:
是因为selinux开启的原因,只要将selinux关闭,重启下即可
#临时关闭
setenforce 0
#永久关闭需要修改/etc/selinux/config文件,将SELINUX=enforcing或者SELINUX=permissive修改为如下
SELINUX=disabled
systemctl restart sshd
在linux9.x环境下,记得一定要把selinux关闭,不然,输入用户名后会被一直提示密码错误
11.重启服务器
reboot
12.卸载telnet
dnf -y remove telnet telnet-server xinetd
猜你喜欢
- 2024-10-03 Qt4/5升级到Qt6吐血经验总结V202308
- 2024-10-03 微软兑现承诺:更新Linux子系统,编译WSL 2内核只需3步
- 2024-10-03 centos7使用源码从python2升级到python3,干货值得收藏
- 2024-10-03 Clion2021大版本更新亮点一览(clion2020.1)
- 2024-10-03 CPack 入门指南(cpaks)
- 2024-10-03 C/C++ 开发工具 CLion 新版发布,10 大新功能抢先看
- 2024-10-03 centos7升级glibc(centos7升级gcc)
- 2024-10-03 ReactOS年度报告:改进shell,增强应用管理
- 2024-10-03 CMake构建Makefile深度解析:从底层原理到复杂项目
- 2024-10-03 CBrother升级至V2.5.5,支持编译和打包
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)