淺析Linux服務器OpenSSH的源碼編譯與升級
Linux現在已經成為了主流,很多的人都在用Linux系統,從中我們也發現很多問題,今天主要講Linux服務器中OpenSSH的源碼編譯與升級,希望大家能學會Linux服務器的問題。
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
本文介紹的Linux服務器中OpenSSH的源碼編譯與升級問題,希望對你有所幫助。
【編輯推薦】