Fedroa20下手工安裝openssh-serverlinux
本例以Fedroa20爲例,須要下載:zlib-1.2.8.tar、openssl-1.0.2e.tar、 openssh-7.1p1.tar。注意openssh-7.1.tar 下載下來沒有config文件是不對的緩存
一 安裝zlib庫app
一、 首先解壓安裝zlib:tar -xf zlib-1.2.8.tarssh
二、 # tar xzvf zlib-1.2.8.tar.tar.gz
# cd zlib-1.2.8
# ./configure --prefix=/usr/local/zlib
# make
# make install
這樣,就把 zlib 編譯安裝在 /usr/local/zilib 中了。函數
三、 製做升級包測試
cp -r /usr/local/zlib/* zlib_up/加密
tar -cvf zlib_up.tar zlib_uprest
zlib 是通用的壓縮庫,提供了一套 in-memory 壓縮和解壓函數,並能檢測解壓出來的數據的完整性(integrity),具體在ssl中做用不清楚server
二 升級ssl
一、解壓升級md5
#tar xvf openssl-1.0.2e.tar
#cd openssl-1.0.2e
# ./Config --shared zlib-dynamic
#make
#make test (這一步是進行 SSL 加密協議的完整測試,若是出現錯誤就要必定先找出緣由,不然一味繼續可能致使 SSH 不能使用!)
#make install
二、測試
#ldconfig -v 刷新緩存文件/etc/ld.so.cache
#openssl version –a 查看版本號,發現版本號還沒升級
三、查看庫文件
#ldd /usr/bin/openssl
linux-gate.so.1 => (0xb7743000)
libssl.so.10 => /lib/libssl.so.10 (0xb76b9000)
4 拷貝升級
#cp -dp /apps/openssl /usr/bin/openssl
#cp -dp libssl.so* /usr/local/ssl/lib/
#cp -dp libcrypto.so* /usr/local/ssl/lib/
5 再次檢查
#openssl version –a 查看版本號成功
#openssl genrsa -des3 -out server.key 1024 驗證是否可用生成key值
Ssl升級開始不成功,後來將拷貝bin,lib,配置文件,發現成功。大部分升級都是這三個配置文件。不知道有沒有更好的檢查是否升級成功的辦法,目前看是升級成功了
三 安裝ssh文件
# tar xzvf openssh-7.1p1.tar
# cd openssh-4.5p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords
出現的錯誤以下
一、 configure 時提示 PAM 有錯誤,那通常是由於系統中沒有安裝 pam-devel RPM 包,找到安裝光盤,安裝 pam-devel 就能夠解決啦)
#rpm –ivh pam-devel…
二、禁止root用戶遠程登錄:修改PermitRootLogin,默認爲yes且註釋掉了;修改
是把註釋去掉,並改爲no。
三、修改權限ssh_host_rsa_key和ssh_host_ecdsa_key,修改成600,
4 驗證方式不支持, 如客戶端登陸時提示以下:
[www.linuxidc.com@CentOS-6-37 ~]$ ssh monitor@192.168.1.5
Permission denied (publickey,keyboard-interactive).
解決方法:
設置sshd的配置文件(sshd_config)的這條配置:PasswordAuthentication yes
而後重啓服務:service sshd restart
5 在最後一步報錯: Privilege separation user sshd does not exist
解決方法:
#vi /etc/passwd
插入: sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
再次make install 編譯安裝成功。檢查ssh服務是否啓動:# ssh –v