https://www.cnblogs.com/yybrhr/p/9682129.html
一、确认ssh版本
ssh -V
二、开启telnet服务(很重要)
其他文章里有,这里不多做介绍三、切换telnet登录
四、安装编译工具
检查相关依赖包是否安装rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"
安装相关依赖包
yum -y install gcc make perl zlib zlib-devel pam pam-devel
五、下载安装包
官网下载http://www.zlib.net/<br>
https://www.openssl.org/source/<br>
https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/<br>
百度网盘下载
安装包下载地址
六、关闭防火墙
systemctl status firewalld.service
检查防火墙状态,如果在运行停掉。
systemctl stop firewalld.service
关闭开机自启动
systemctl disable firewalld
七、关闭SELinux
检查是否关闭:
getenforce
如果未关闭,关闭之
setenforce 0
getenforce
上面只是临时关闭了,重启后不生效。下面改配置文件,使永久生效。
vi /etc/selinux/config
修改:
SELINUX=disabled
保存退出。
八、停止ssh服务
检查
systemctl is-active sshd
停止
systemctl stop sshd
systemctl is-active sshd
停止之后,无法用ssh维护了,可以通过vnc或者telnet维护
九、卸载原有ssh
查看系统原有openssh包rpm -qa | grep openssh
根据上面查询出的结果,卸载系统里原有Openssh
rpm -e --nodeps 'rpm -qa | grep openssh'
验证
rpm -qa | grep openssh
十、安装zlib
解压tar -xzvf zlib-1.2.11.tar.gz
进入目录编译安装
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make
make test
make install
验证zlib安装是否成功
ll /usr/local/zlib
新建并编辑配置文件:
vi /etc/ld.so.conf.d/zlib.conf
加入如下内容后保存退出
/usr/local/zlib/lib
刷新库文件,加载刚才编译安装的zlib生成的库文件
ldconfig -v
十一、安装ssl
解压安装openssl包 ``` tar -xzvf openssl-1.0.2o.tar.gz ``` 编译opensslcd openssl-1.0.2o
./config shared zlib
make
make test
make install
重命名现有文件目录
mv /usr/bin/openssl /usr/bin/openssl.bak
创建ssl相关软连接
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
编辑配置文件
vi /etc/ld.so.conf.d/ssl.conf
加入如下内容后保存退出
/usr/local/ssl/lib
刷新库文件,加载刚才编译安装的ssl生成的库文件
ldconfig -v
查看openssl版本
openssl version -a
十二、安装ssh
重命名原有配置文件mv /etc/ssh /etc/ssh.bak
解压
tar -xzvf openssh-7.7p1.tar.gz
编译安装
cd openssh-7.7p1
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --mandir=/usr/share/man --with-zlib=/usr/local/zlib
make
make install
十三、验证版本
/usr/local/openssh/bin/ssh -V
十四、设置sshd服务开机自动启动
拷贝配置文件
cp /soft/openssh/openssh-7.7p1/contrib/redhat/sshd.init /etc/init.d/sshd
给sshd的配置文件执行权限
chmod u+x /etc/init.d/sshd
添加sshd服务
chkconfig --add sshd
验证开机启动
chkconfig --list|grep sshd
十五、设置 ssh -V验证码版本
替换配置文件cp /soft/openssh/openssh-7.7p1/sshd_config /etc/ssh/sshd_config
配置sshd_config文件
将subsystem sftp路径变更为实际路径/usr/local/openssh/libexec/sftp-server
vi /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/sftp-server
注释掉,换为如下一句:
Subsystem sftp /usr/local/openssh/libexec/sftp-server
拷贝命令
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
拷贝sshd命令至/usr/bin/
cp /usr/local/openssh/bin/ssh /usr/bin/
检查版ssh本
ssh -V
十六、密码认证和允许root用户远程直接登录
拷贝ssh-keygen
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
修改配置文件/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#PasswordAuthentication yes 行取消注释
PasswordAuthentication yes
并下面添加
PermitRootLogin yes
PS:如果不允许root用户远程直接登录,这里配置为PermitRootLogin no;
重启sshd服务
service sshd restart