当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux服务器中OpenSSH的源码编译与升级

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器中OpenSSH的源码编译与升级


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 95 ::
收藏到网摘: n/a

一。AS4升级步骤

1.建议使用源码安装方式,下载安装包

cd/root

wget-c"ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.0p1.tar.gz"

tarzxvfopenssh-5.0p1.tar.gz

cdopenssh-5.0p1

2.升级请确认Zlib和OpenSSL的版本:

openssh-5.0p1要求Zlib的版本在1.2.1.2以上,OpenSSL版本在0.9.6以上。下面是Zlib和OpenSSL的官方地址:

http://www.gzip.org/zlib/

http://www.openssl.org/

注意:OpenSSL0.9.5a属于可接受的版本,但是在使用SSHprotocol1时,一些加密功能可能会出现问题(出于安全考虑,建议使用SSHprotocol2)。详见INSTALL文档。

3.编译常用的参数——prefix=和——sysconfdir=,省略以上参数,默认的ssh将安装在/usr/local/bin下,sshd装在/usr/local/sbin,sftp-server装在/usr/local/libexec/sftp-server,配置文件在/usr/locale/etc下。

。/configure——sysconfdir=/etc/ssh

make

makeinstall

4.对比安装默认和当前配置文件,个别重要参数请务必修改

diffsshd_config/etc/ssh.bak/sshd_config

5.配置文件推荐设置

确认/usr/local/libexec/sftp-server路径是否正确

6.检查配置文件的正确性

grep-v^#/etc/ssh/sshd_config|awk'{print$1}'|sort|uniq-d

是否有重复的行

/usr/local/sbin/sshd-t

参数是否正确

7.添加/etc/init.d脚本和service服务

先备份原来的脚本cp/etc/init.d/sshd/etc/init.d/sshd.bak

主要是修改ssh-keygen和sshd的路径。PID文件也作相应修改,避免跟之前的sshd有冲突,这样就能够在保证原有sshd不受影响的情况下配置新的sshd服务。修改下面三项:

原来:

KEYGEN=/usr/bin/ssh-keygen

SSHD=/usr/sbin/sshd

PID_FILE=/var/run/sshd.pid

改成:

KEYGEN=/usr/local/bin/ssh-keygen

SSHD=/usr/local/sbin/sshd

PID_FILE=/var/run/sshd2.pid

添加service服务:

/sbin/chkconfig——addsshd

8.重起sshd服务

注意:启动新的sshd服务前,先临时修改sshd_config里的端口,避免跟原有ssh端口冲突。

/sbin/servicesshdstart

>/root/.ssh/known_hosts

用ssh登陆测试,如果能正常登录就可以换回管理员使用的ssh端口(切换之前还是必须把旧版ssh占用的端口换掉)。

注意:远程对ssh所做的任何重大修改,必须确保有另外的方式可以登录服务器。

完成所有工作后,把原有的sshd服务关闭。

/etc/init.d/sshd.bakstop

ssh升级完成,新版的/usr/local/sbin/sshd将代替旧版的/usr/sbin/sshd

如果不能登陆,请检查。

二。openSSH升级步骤:

1.启动telnet服务

vi/etc/inetd.conf

telnetstreamtcpnowaitroot/usr/libexec/telnetdtelnetd

检查/etc/rc.conf中是否inetd_enable="YES,/etc/rc.d/inetdrestart,启动inetd

用telnet登陆服务器,进行下面操作

2.升级openssh

cd/root/

wget-cftp://ftp.openbsd.org/pub/OpenBS……penssh-5.0p1.tar.gz

tarzxvfopenssh-5.0p1.tar.gz

cdopenssh-5.0p1

。/configure——prefix=/usr——sysconfdir=/etc/ssh——libexecdir=/usr/libexec/openssh——without-zlib-version-check

make

makeinstall

对比安装默认和当前配置文件,个别重要参数请务必修改

diffsshd_config/etc/ssh/sshd_config

检查配置文件的正确性

grep-v^#/etc/ssh/sshd_config|awk'{print$1}'|sort|uniq-d

是否有重复的行

/usr/sbin/sshd-t

参数是否正确

重起sshd

kill-HUP`cat/var/run/sshd.pid`

用ssh登陆检查openssh服务是否安装,启动正常

关闭telnet服务,退出telnet

killallinetd

确认telnet服务关闭

3.关于openssl的升级:

最新的openssl包,http://www.openssl.org/source/openssl-0.9.8g.tar.gz

可采用源码安装的形式,

。/config——prefix=/usr/local/openssl-0.9.8

make

makeinstall

然后升级SSH,将——with-ssl-dir指向openssl的安装目录。

三。FAQ

启动sshd服务的时候提示错误UnsupportedoptionUsePAM?

答:默认的configure没有启用——with-pam选项,如果在sshd_config配置文件里加入

UsePAMno就会导致上面的错误提示。UsePAM与ssh密码认证相关,但公司服务器禁止通过密码认证方式登录。所以编译的时候不建议使用——with-pam选项,配置文件里不使用UsePAMno,而改为使用

PasswordAuthenticationnoChallengeResponseAuthenticationno的方式来禁止密码登录。

上一页[1][2]