文档库 最新最全的文档下载
当前位置:文档库 › 总结-OpenSSH升级-Ubuntu

总结-OpenSSH升级-Ubuntu

工作总结——OpenSSH升级-Ubuntu

1概述

Ubuntu 10.04自带默认的OpenSSH_5.3p1 Debian-3ubuntu7.1版本的OpenSSH,以及Ubuntu 11的OpenSSH_5.8p1 Debian-7ubuntu1版本,现需将这些版本升至6.5版本。

PS:在Ubuntu软件安装方式中存在deb安装和源码安装两种,若使用的账户非root,请在命令前面加sudo

2OpenSSH升级

2.1 OpenSSH概述

OpenSSH是实现SSH协议的开源免费软件,大多数Linux发行版本都采用了该软件实现SSH的远程连接,SSH是Secure Shell的缩写,即远程安全壳,旨在为远程连接提供一个安全的加密通道。

SSH相类似的协议有telnet,相比于SSH,telnet采用的是明文方式传输,具有一定的不安全性,而且容易被中间人攻击,所以telnet使用较少。而SSH 使用加密的方式传输,具有加密传输、防止中间人攻击、安全等特点。

2.2 OpenSSH升级准备

2.2.1升级思路

考虑到本次OpenSSH升级采用远程升级的方式,为保证升级正常,将采用另一种远程连接方式telnet来进行升级操作,依次进行OpenSSH原配置文件备份、旧版本OpenSSH删除、安装新版本OpenSSH。

2.2.2升级所需要的安装包

OpenSSH 升级所需安装包:

openssh-6.5p1.tar.gz (官网地址:https://www.wendangku.net/doc/2f17681982.html,)

zlib-1.2.8.tar.gz(用于SSH压缩功能,官网地址是:https://www.wendangku.net/doc/2f17681982.html,/)

1

openssl-1.0.1h.tar.gz(提供加密传输所需的功能,官网地址:https://www.wendangku.net/doc/2f17681982.html,)

2.2.3升级流程

1、上传安装包到服务器上

2、安装telnet服务,并使其运行正常;

3、使用telnet远程连接服务器,正常后端口SSH连接;

4、备份OpenSSH配置文件

5、卸载旧版OpenSSH

6、安装OpenSSH 6.5 版本,并测试正常

7、卸载telnet服务

3升级实施步骤

3.1上传安装包

本次升级采用securecrt远程管理工具对服务器进行远程连接,使用工具自带的sftp功能上传上述安装包至/root目录下,步骤及相关命令如下:

3.1.1打开sftp标签页

使用sftp功能,在左图红色方框处右键,在出现的菜单中选择“连接SFTP 标签页”,出现右图。

3.1.2上传文件

1、设置安装包所在路径

sftp> lcd E:/

2、上传zlib源码安装包

sftp> put zlib-1.2.8.tar.gz

Uploading zlib-1.2.8.tar.gz to /root/zlib-1.2.8.tar.gz

100% 557KB 557KB/s 00:00:00

E:/zlib-1.2.8.tar.gz: 571091 bytes transferred in 0 seconds (557 KB/s)

3、上传OpenSSL源码安装包

sftp> put openssl-1.0.1h.tar.gz

Uploading openssl-1.0.1h.tar.gz to /root/openssl-1.0.1h.tar.gz

100% 4370KB 4370KB/s 00:00:00

E:/openssl-1.0.1h.tar.gz: 4475692 bytes transferred in 0 seconds (4370 KB/s)

4、上传新版OpenSSH源码安装包

sftp> put openssh-6.5p1.tar.gz

Uploading openssh-6.5p1.tar.gz to /root/openssh-6.5p1.tar.gz

100% 1262KB 1262KB/s 00:00:00

E:/openssh-6.5p1.tar.gz: 1293187 bytes transferred in 0 seconds (1262 KB/s)

3.2安装配置telnet

3.2.1安装telnet-server的deb包

# apt-get install telnetd#安装telnet

3.2.2本地测试

telnet服务默认不支持root账户登录,要先新建账户,升级时切换到root 账户进行操作。新建一个账户test,密码123,执行命令

PS(如使用的非root账户,可不用新建账号)

# useradd test

# passwd test

Changing password for user test.

New UNIX password:#输入test账户的密码

BAD PASSWORD: it is WAY too short

Retype new UNIX password:#重复输入test账户密码

passwd: all authentication tokens updated successfully.#完成test账户建立

telnet默认采用的端口是TCP的23号端口,校验端口是否正常,如下:# telnet 127.0.0.1

3.2.3连接telnet

在SecureCRT中新建telnet连接服务器,并切换root权限。

login: test

Password:

Last login: Tue Jun 17 01:42:12 from localhost

test@ubuntu:~$ su root #切换到root账户

Password:

root@ubuntu:/home/test# cd #回到root目录

3.3备份OpenSSH的配置文件

备份OpenSSH相关文件:

# cp /etc/init.d/ssh /etc/init.d/sshd#备份启动脚本

3.4删除OpenSSH

完成配置备份后,将原有的OpenSSH的deb包及其配置文件删除,执行命令# apt-get purge openssh-server openssh-client

3.5安装OpenSSH

安装OpenSSH需先安装其所依赖的zlib和OpenSSL服务。

3.5.1源码编译zlib

# tar -xvzf zlib-1.2.8.tar.gz #解压缩

# cd zlib-1.2.8

/zlib-1.2.8# ./configure --prefix=/usr/local/zlib#检查配置

/zlib-1.2.8# make #编译

/zlib-1.2.8# make install#编译安装

3.5.2源码编译OpenSSL

# tar -xvzf openssl-1.0.1h.tar.gz#解压缩

# cd openssl-1.0.1h#进入目录

/openssl-1.0.1h # ./config --prefix=/usr/local/openssl#检查配置

/openssl-1.0.1h # make #编译

/openssl-1.0.1h # make install#编译安装

3.5.3源码编译OpenSSH

# tar -xvzf openssh-6.5p1.tar.gz#解压缩# cd openssh-6.5p1#进入目录

/openssh-6.5p1 # ./configure \#检查配置

> --sysconfdir=/etc/ssh \

> --with-zlib=/usr/local/zlib/ \

> --with-ssl-dir=/usr/local/openssl

/openssh-6.5p1 #make#编译

/openssh-6.5p1 #make install#编译安装安装完成之后,OpenSSH释放文件的情况如下:

3.6 OpenSSH服务管理

3.6.1建立sshd账户

# useradd sshd#建立sshd账户

3.6.2开机管理OpenSSH

采用service命令进行管理,并设置开机启动,如下:

# /usr/local/sbin/sshd -f /usr/loca/etc/sshd_config

登陆ssh后进行以下操作。

# vi /etc/init.d/sshd #修改sshd的路径:%s#/usr/sbin#/usr/local/sbin#g #执行修改命令

:wq #保存配置文件# update-rc.d sshd defaults#开机启动设置

# service sshd restart

* Restarting OpenBSD Secure Shell server sshd

...done.

3.7 OpenSSH版本验证

# /usr/local/bin/ssh -V

OpenSSH_6.5p1, OpenSSL 1.0.1h 5 Jun 2014

3.8删除telnet

确保OpenSSH升级可用之后,为了保障系统的安全,建议将telnet删除,以免造成安全漏洞,删除telnet只需要将其对应的deb包删除即可,如下:# apt-get purge telnetd #删除telnet

# userdel test #删除test用户

4出现的错误解决

4.1OpenSSH无法配置

配置OpenSSH ,代码如下

/openssh-6.5p1 # ./configure \#配置

> --sysconfdir=/etc/ssh \

> --with-zlib=/usr/local/zlib/ \

> --with-ssl-dir=/usr/local/openssl

出现以下错误:

configure: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) ***

解决方式如下:

添加参数,重新安装OpenSSL,之后正常安装OpenSSH即可。具体如下:

1、为了不要和已安装的openssl混淆,这里指定一个新的安装目录。

/openssl-1.0.1h#/config --prefix=/usr/local/openssl-1.0.1h

2、config之后,会生成Makefile,打开Makefile找到gcc,在CFLAG参数列表里加上-fPIC。PS:第63行

/openssl-1.0.1h# vi Makefile

CC= gcc

CFLAG= -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H

-Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2

-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m

-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM

-DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM

3、编译并安装

/openssl-1.0.1h# make

/openssl-1.0.1h# make install

4、之后正常安装OpenSSH,可参考2.2.3,更新OpenSSL的路径即可。

相关文档