Centos手动编译安装升级openssh

丶灬走出姿态 提交于 2020-08-09 11:23:29

centos6通过yum安装的openssh默认为5.3p1,已经非常落后了,且很多漏洞,只能通过升级sshd来修复。

 

第零部分 安装telnet(略)以免卸载ssh之后无法连接服务器

第一部分 备份和卸载老版本的openssh(如果有的话)

通过find / -name "ssh"和find / -name "sshd"找到openssh的配置文件,一般是在/etc/ssh目录,所以将整个目录备份

cp -r /etc/ssh /etc/ssh.old

通过rpm -qa |grep openssh命令查找本机安装的openssh服务,一般结果有三行openssh,openssh-server,openssh-clients

然后通过rpm卸载

rpm -e --nodeps openssh

rpm -e --nodeps openssh-server

rpm -e --nodeps openssh-clients

此时通过rpm -qa |grep openssh和find / -name "ssh"等命令查找ssh,会发现已经卸载干净了

 

第二部分 下载编译安装新版openssh

首先通过yum安装依赖和必要工具

yum install wget gcc openssl-devel pam-devel rpm-build tcp_wrappers-devel -y

然后在openssh官网 上找到所需下载的openssh版本,比如openssh-8.3p1.tar.gz

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz

然后解压

tar zxvf openssh-8.3p1.tar.gz

编译安装

cd openssh-8.3p1

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers  

--perfix为安装目录

--sysconfdir为配置文件所在位置

然后

make && make install

此时查看openssh版本号,可以发现已经更新为最新的8.3

ssh -V

 

 

第三部分 配置并启动openssh

编辑/etc/ssh/sshd_config配置文件,注意同目录的下ssh_config为客户端配置文件,我们要编辑的是服务端sshd_config文件,不要搞错了

vi /etc/ssh/sshd_config

在配置文件之中加上

PermitRootLogin yes

PasswordAuthentication yes

使得root用户可以使用密码通过ssh连接服务器

加入

Port 22

指定使用22端口

 

通过find命令找到sshd.init的位置,将其复制到init.d目录下

cp -p /tmp/openssh-8.3p1/contrib/redhat/sshd.init /etc/init.d/sshd

设置执行权限加入服务之中

chmod +x /etc/init.d/sshd

chkconfig  --add  sshd

chkconfig  sshd  on

chkconfig  --list  sshd

然后就可以通过service命令来启动、停止和查看新安装的sshd服务了

启动sshd服务

service sshd start

此时即可通过secureCRT等软件在客户端连接服务器

如果还不行,检查iptables的规则是否开放22端口

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!