如果 yum 安装失败,需要使用 yum install --downloadonly --downloaddir=./ zlib-devel
这种方式来离线下载,然后使用 rpm 方式安装。
rpm -ivh openssl-devel-1.0.2k-22.el7_9.x86_64.rpm openssl-libs-1.0.2k-22.el7_9.x86_64.rpm --force --nodeps
rpm -ivh pam-* --force --nodeps
或者 yum -y install gcc pam-devel
yum install openssl-devel
安装 openssl
cd openssl-1.1.1l/
./config --prefix=/usr/
make -j
make install
备份原先的 sshd_config
cp /etc/ssh/sshd_config{,_bak}
cp /etc/pam.d/sshd{,_bak}
openssh 安装
tar zxvf openssh-8.7p1.tar.gz
cd openssh-8.7p1/
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/home/admin/openssh/openssl-1.1.1l --with-pam
make -j4
移除旧的 openssh
yum remove openssh -y
make install
chmod 600 /etc/ssh/{ssh_host_rsa_key,ssh_host_ecdsa_key,ssh_host_ed25519_key}
cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
chkconfig --level 2345 sshd on
systemctl daemon-reload
mv /etc/ssh/sshd_config{,_new}
cp /etc/ssh/sshd_config_bak /etc/ssh/sshd_config
/usr/sbin/sshd -t -f /etc/ssh/sshd_config
如果有下面报错,就注释掉
/etc/ssh/sshd_config line 79: Unsupported option GSSAPIAuthentication
/etc/ssh/sshd_config line 80: Unsupported option GSSAPICleanupCredentials
然后启动 sshd 服务,启动失败的话,注意查看 日志 tail -f /var/log/secure
sed -i s/^UsePAM/#UsePAM/g /etc/ssh/sshd_config
启用 pam 则将 sshd.pam
复制到 /etc/pam.d/
cp contrib/redhat/sshd.pam /etc/pam.d/sshd`
如不能登录则设置
setenforce 0 临时关闭
修改 SELINUX=disabled
sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config
常见配置
./configure --prefix=/usr/local --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-pam
--prefix=当前 ssh 安装目录
--sysconfdir=配置文件目录
--with-ssl-dir=openssl 安装目录
--with-pam 启用 pam
make
make install
确认安装完毕后注释 /etc/securetty
添加的 pts/1
关闭 telnet
服务