OpenSSH:
步骤 1:卸载现有版本的 OpenSSH※
ps:以防失联先装个telnet创建个普通用户给个密码
安装telnet服务端和客户端及守护程序
yum install telnet-server.x86_64
yum install telnet.x86_64
yum install xinetd.x86_64设置开机启动
systemctl enable xinetd.service
systemctl enable telnet.socket启动服务(telnet服务是由xinetd守护,所以要启动telnet服务也需要启动xinetd )
systemctl start telnet.socket
systemctl start xinetd
sudo yum remove openssh-server openssh-clients
步骤 2:安装编译所需的依赖※
sudo yum groupinstall "Development Tools"
sudo yum install zlib-devel openssl-devel pam-devel selinux-policy-devel autoconf
步骤 3:下载并安装 OpenSSL 1.1.1※
- 下载 OpenSSL 1.1.1 最新版本:
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
tar -xzf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
- 编译并安装 OpenSSL:
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make
sudo make install
- 确认环境变量设置: 在
/etc/profile
或用户的.bashrc
文件中添加以下内容: - 更新动态链接器配置文件并重新加载库路径:
export PATH=/usr/local/openssl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib
source /etc/profile
echo "/usr/local/openssl/lib" | sudo tee /etc/ld.so.conf.d/openssl.conf
sudo ldconfig
直接./config的可以这样
:echo "/usr/local/lib64/" >> /etc/ld.so.conf
ldconfig
mv /usr/bin/openssl /usr/bin/openssl.old
ln -sv /usr/local/bin/openssl /usr/bin/openssl
步骤 4:下载并解压 OpenSSH 源码包※
cd ~
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
tar -xzf openssh-9.8p1.tar.gz
cd openssh-9.8p1.tar.gz
步骤 5:配置编译选项※
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-ssl-dir=/usr/local/openssl
--prefix 安装目录
--sysconfdir 配置文件目录
--with-ssl-dir 指定 OpenSSL 的安装目录
--with-privsep-path 非特权用户的chroot目录
--with-privsep-user=sshd 指定非特权用户为sshd
--with-zlib 指定zlib库的安装目录
--with-md5-passwords 支持读取经过MD5加密的口令
--with-ssl-engine 启用OpenSSL的ENGINE支持
处理期间遇到的依赖问题※
- 缺少
zlib.h
:
sudo yum install zlib-devel
缺少 OpenSSL 1.1.1(已在步骤 3 中处理)
缺少 PAM 头文件:
sudo yum install pam-devel
步骤 6:编译并安装 OpenSSH※
make
sudo make install
步骤 7:调整 SSH 主机密钥文件权限※
sudo chmod 600 /etc/ssh/ssh_host_rsa_key
sudo chmod 600 /etc/ssh/ssh_host_ecdsa_key
sudo chmod 600 /etc/ssh/ssh_host_ed25519_key
步骤 8:创建并配置 sshd.service
文件※
- 创建
/etc/systemd/system/sshd.service
文件:
sudo vi /etc/systemd/system/sshd.service
- 在文件中添加以下内容:
[Unit]
Description=OpenSSH server daemon
After=network.target
[Service]
ExecStart=/usr/sbin/sshd -D
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
- 重新加载 systemd 配置:
sudo systemctl daemon-reload
步骤 9:启动并启用 SSH 服务※
sudo systemctl start sshd
sudo systemctl enable sshd
步骤 10:验证 SSH 服务是否正在运行※
sudo systemctl status sshd
步骤 11:验证 OpenSSH 版本※
ssh -V
要开启root远程登录
sed -i '/#PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config