Linux下openssh升级
1:因为openssh需要openssl,所以先更新openssl,下载openssl,
http://www.openssl.org/source/
,我下载的是
3459643 Sep 15 16:35:55 2008 openssl-0.9.8i.tar.gz (MD5) (SHA1) (PGP sign) [LATEST]
我现在的版本是:openssl-0.9.7,想把它升级到 openssl-0.9.8
2:我下载的是
openssl-0.9.8i.tar.gz, 放到/home/software下
tar -zxvf openssl-0.9.8i.tar.gz
cd openssl-0.9.8i
./config shared zlib --prefix=/usr/local/openssl
make
make install
which openssl会发现openssl在/usr/bin目录下
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
cd /usr/bin
ln -s /usr/local/openssl/bin/openssl openssl
cd /usr/include
ln -s /usr/local/openssl/include/openssl openssl
然后openssl version -a输出如下:
OpenSSL 0.9.8i 15 Sep 2008
built on: Mon Dec 1 15:35:49 CST 2008
platform: linux-elf
options: bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM
OPENSSLDIR: "/usr/local/openssl/ssl"
3:echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig
4:下载openssh (for linux), 我下载的版本是:
openssh-5.1p1.tar.gz ,放到/home/software目录下
tar -zxvf openssh-5.1pl.tar.gz
cd openssh-5.1pl
./configure --prefix=/usr/local/openssh --sysconfdir=/usr/local/openssh/etc/ssh --with-pam --with-zlib=/us r/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man
make
make install
即可成功将openssh成功安装。
3:先查看sshd是否已经启动,netstat -antl | grep 22 ,若有输出,则表示sshd服务已经启动。
可用ssh -v查询老的版本号,用service sshd stop 将服务停掉。然后有chkconfig sshd off将其设置为不随系统开机启动(一般情况下默认此服务随系统开机启动)
4:vi /etc/profile,在该文件的最后加入:
export PATH=/usr/local/openssh/bin:$JAVA_HOME/bin:$PATH ,注意必须把$PATH放在后半部分
然后 source /etc/profile使之立刻生效
5:将sshd设置成开机启动:
/etc/rc.d/rc5.d
ln -s /usr/local/openssh/sbin/sshd S99sshd
6:测试openssh是否成功更新:(启动sshd服务用 :
/usr/local/openssh/sbin/sshd ,如果没有错误输出,然后用netstat -antl |grep 22查看sshd服务是否已经启动 ,若成功如下:)
[root@qingheliu bin]# netstat -antl | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
[root@qingheliu bin]#
ssh -v 输出如下:注意红色字体部分, 显然表示已经成功更新
[root@qingheliu bin]# ssh -v
OpenSSH_5.1p1, OpenSSL 0.9.8i 15 Sep 2008
usage: ssh [-1246AaCfgKkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-i identity_file] [-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-w local_tun[:remote_tun]] [user@]hostname [command