最近有空復習了一下Linux,在虛擬機上安裝了個CentOS6.5,順便升級一下系統自帶的openssh,任何系統操作都有風險,正式環境請做好備份工作。廢話少說,直接貼代碼。
1、准備工作,相應的包自己到官方下載,另外需要下載依賴包openssl以及zlib包。
openssh下載地址:http://www.openssh.com/portable.html#http
openssl下載地址:http://www.openssl.org/source/
zlib下載地址:http://zlib.net/zlib-1.2.8.tar.gz
2、卸載系統自帶的openssh,卸載之前先停止sshd服務,再用rpm刪除,同時清除系統/etc/ssh目錄
[root@CentOS tmp]# service sshd stop
Stopping sshd: [ OK ]
[root@CentOS tmp]# rpm -qa openssh
openssh-5.3p1-94.el6.x86_64
[root@CentOS tmp]# rpm -e openssh-server
[root@CentOS tmp]# rpm -e openssh-clients
[root@CentOS tmp]# rpm -e openssh-askpass
[root@CentOS tmp]# rpm -e openssh
[root@CentOS tmp]# rm -rf /etc/ssh
3、安裝zlib
[root@CentOS tmp]# tar -xvf zlib-1.2.8.tar.gz
[root@CentOS tmp]# cd zlib-1.2.8
[root@CentOS zlib-1.2.8]# ./configure --prefix=/usr/local/zlib && make && make install
4、安裝openssl
[root@CentOS tmp]# tar -xvf openssl-1.0.1i.tar.gz
[root@CentOS tmp]# cd openssl-1.0.1i
[root@CentOS openssl-1.0.1i]# ./config --prefix=/usr/local/openssl && make && make install
5、安裝openssh
[root@CentOS tmp]# tar -xvf openssh-6.6p1.tar.gz
[root@CentOS tmp]# cd openssh-6.6p1
[root@CentOS openssh-6.6p1]# ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --with-md5-passwords --without-hardening && make && make install
6、修改配置文件
[root@CentOS openssh-6.6p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
[root@CentOS openssh-6.6p1]# chmod +x /etc/init.d/sshd
[root@CentOS openssh-6.6p1]# vi /etc/init.d/sshd
修改對應指令的安裝目錄
=============================25行 SSHD=/usr/sbin/sshd 為 SSHD=/usr/local/openssh/sbin/sshd41行 /usr/bin/ssh-keygen -A 為 /usr/local/openssh/bin/ssh-keygen -A
=============================
保存退出
7、加入到系統服務
[root@CentOS openssh-6.6p1]# chkconfig --add sshd
[root@CentOS openssh-6.6p1]# service sshd start
8、編譯中遇到的錯誤,參考博文http://zjwsk.blog.163.com/blog/static/598306132014313112351/,感謝博主的分享
configure: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) ***
© 著作權歸作者所有