Linux升级openssh详细步骤

目录

一、安装

二、配置调整

三、安装完成后常见问题

四:操作步骤截图


注:如果你是远程升级,那么在升级前一定要确认已经开启了telnet和ftp

一、安装

1、查看当前ssh版本

ssh -V   --使用该指令查看当前ssh版本
OpenSSH_5.1p1, OpenSSL 0.9.8h 28 May 2008

2、升级所需软件包准备

	libopenssl-devel-1.0.1k-2.36.1.x86_64.rpm
	libopenssl-devel-1.0.2l-1.1.noarch.rpm
	openssl 和 openssh

 3、安装gcc编译工具

zypper install gcc*   --使用该指令安装gcc编译工具

 4、安装连接库文件

rpm -ivh libopenssl-devel-1.0.1k-2.36.1.x86_64.rpm --nodeps --force
rpm -ivh libopenssl-devel-1.0.2l-1.1.noarch.rpm  --nodeps --force

5、安装openssl

openssl version 	--查看ssl版本
tar -xvf openssl-1.0.2k.tar	--解压ssl文件包
cd openssl-1.0.2k
./config --prefix=/usr/local/sslshared no-zlib		--进行源代码配置
vi Makefile
	找CC= gcc将下面的CFLAG=-DOPENSSL...改为CFLAG=-fPIC -DOPENSSL...
make && make install
ls -al /usr/bin/openssl*
mv /usr/bin/openssl /usr/bin/openssl.bak
ln -s /usr/local/sslshared/bin/openssl /usr/bin/openssl
openssl version 	--再次查看ssl版本

6、安装openssh

① tar -zxvf openssh-7.4p1.tar.gz	--解压ssh文件

② cd openssh-7.4p1/

③ rpm -qa |grep openssh		--查看已安装的ssh
	openssh-5.1p1-41.24
	openssh-askpass-5.1p1-41.24

④ rpm -e --nodeps openssh-5.1p1-41.24	--删除原来的ssh
  rpm -e --nodeps openssh-askpass-5.1p1-41.24

⑤ install  -v -m700 -d /var/lib/sshd	--配置权限
  chown  -v root:sys /var/lib/sshd
  groupadd -g 50 sshd
  useradd  -c 'sshd PrivSep' -d /var/lib/sshd -g sshd -s /bin/false -u 50 sshd
⑥ ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-tcp-wrappers --with-ssl-dir=/usr/bin/openssl  --编译
⑦ make && make install  --安装
⑧ ssh -V  --查看ssh版本

二、配置调整

安装完成后我们需要修改sshd的服务文件,指向这个新的sshd文件。

CentOS6和CentOS7系统修改方法不一样。

CentOS6系统:

# vim /etc/rc.d/init.d/sshd
SSHD=/usr/local/sbin/sshd
启用新的sshd后,由于新版本的OpenSSH默认不允许root用户登录,如果需要使用root远程登录,还需要做一下设置。如果不需要,可以直接重启服务。
新的OpenSSH的配置文件是在/usr/local/etc/这个目录下,编辑/usr/local/etc/sshd_config:
# vim /usr/local/etc/sshd_config
PermitRootLogin yes
重启服务
#service sshd restart
CentOS7系统:
禁用原先的SSH服务,并移除服务文件
# systemctl disable sshd
# mv /usr/lib/systemd/system/sshd.service /sshd.service
在OpenSSH_8.0p1源码包中,把一些服务文件复制到系统中:
# cp contrib/redhat/sshd.init /etc/init.d/sshd
# cp contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
# chmod +x /etc/init.d/sshd
修改/etc/init.d/sshd中的SSHD路径:
# vim /etc/init.d/sshd
SSHD=/usr/local/sbin/sshd
启用新的sshd后,由于新版本的OpenSSH默认不允许root用户登录,如果需要使用root远程登录,还需要做一下设置。如果不需要,可以直接重启服务。
新的OpenSSH的配置文件是在/usr/local/etc/这个目录下,编辑/usr/local/etc/sshd_config:
# vim /usr/local/etc/sshd_config
PermitRootLogin yes
重启服务:
# systemctl daemon-reload
# systemctl restart sshd

三、安装完成后常见问题

  1. 升级完ssh后通过其它服务器进行跳转时会提示:REMOTE HOST IDENTIFICATION HAS CHANGEDLinux升级openssh详细步骤_第1张图片

         警告的大概意思就是,主机密钥发生变更,并提示安全风险(可能存在中间人攻击)

        执行 ssh-keygen -R 你要登录的服务器IP  即可

        2. 在开启SSHD服务时报错:sshd re-exec requires execution with an absolute path

解决过程:

# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

# /usr/sbin/sshd

        3.重启ssh时提示警告:Warning: admin-server.service changed on disk. Run 'systemctl daemon-reload' to reload units.

执行systemctl daemon-reload即可

四:操作步骤截图

Linux升级openssh详细步骤_第2张图片

Linux升级openssh详细步骤_第3张图片

Linux升级openssh详细步骤_第4张图片

Linux升级openssh详细步骤_第5张图片

 

你可能感兴趣的:(Linux,linux,运维,服务器)