最近客戶新分配了幾臺linux,沒有掛載盤,沒有外網,竟然連編譯的環境都沒有,各種折騰總算搞定了。
新服務器的ssh版本
linux版本
注意:下面的命令可能直接複製進去會提示不能執行,可能是文本編輯器的原因導致的。
升級步驟
----安裝telnet 防止ssh升級失敗後依然可以連接
rpm -ivh xinetd-2.3.14-40.el6.x86_64.rpm --force --nodeps
rpm -ivh telnet-0.17-48.el6.x86_64.rpm --force --nodeps
rpm -ivh telnet-server-0.17-48.el6.x86_64.rpm --force --nodeps
----開啓telnet
vi /etc/xinetd.d/telnet 將disable=yes改成disable=no;
/etc/init.d/xinetd restart
---關閉防火牆 看自己服務器是否需要
service iptables stop
----因爲禁止root用戶通過telnet登錄,創建普通用戶
useradd aqgk
passwd aqgk 密碼:自定義
-----安裝系統環境所需的包
rpm -ivh autoconf-2.63-5.1.el6.noarch.rpm --force --nodeps
rpm -ivh binutils-2.20.51.0.2-5.48.el6.x86_64.rpm --force --nodeps
rpm -ivh cpp-4.4.7-23.el6.x86_64.rpm --force --nodeps
rpm -ivh gcc-4.4.7-23.el6.x86_64.rpm --force --nodeps
rpm -ivh gcc-c++-4.4.7-23.el6.x86_64.rpm --force --nodeps
rpm -ivh glibc-devel-2.17-260.el7.x86_64.rpm --force --nodeps
rpm -ivh kernel-headers-2.6.32-754.el6.x86_64.rpm --force --nodeps
rpm -ivh pam-devel-1.1.1-13.el6.x86_64.rpm --force --nodeps
rpm -ivh pcre-devel-7.8-7.el6.x86_64.rpm --force --nodeps
rpm -ivh openssl-devel-1.0.1e-57.el6.x86_64.rpm --force --nodeps
rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm --force --nodeps
---------------------------------------------------------------
--開始安裝ssh所需的包
zlib包也是必須的,不過我的服務器已經安裝了更高版本的所以我沒有安裝。安裝方式可以參考上一篇博客。
-----
rpm -ivh pam-devel-1.1.1-13.el6.x86_64.rpm --force --nodeps
---安裝openssl-fips
tar -xzvf openssl-fips-2.0.16.tar.gz
cd openssl-fips-2.0.16
./config
cp /home/libmpfr.so.1 /usr/lib64/
make
make install
----安裝openssl
tar -zxvf openssl-1.0.2p.tar.gz
cd openssl-1.0.2p
./config shared zlib --prefix=/usr/local/openssl && make && make install
# ./config -t
# make depend
# cd /usr/local
# ln -s openssl ssl
# vi /etc/ld.so.conf
----文件的最後面,添加如下內容:
/usr/local/openssl/lib
#ldconfig
--- 添加環境變量
cd /etc/profile
在profile的最後一行,添加:
export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin
保存退出
----加載環境變量
source /etc/profile
-----移除老版本的openssl,創建新的軟連接;這個地方注意路徑
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -sf /usr/local/openssl/lib/libcrypto.so.1.0.0 /lib/libcrypto.so.6
echo "/usr/local/openssl/lib" >>/etc/ld.so.conf
ldconfig -v
# openssl version
----安裝ssh
#tar -xzvf openssh-8.0p1.tar.gz
# cd openssh-8.0p1
# rm -rf /etc/ssh
#make uninstall 刪除舊版本,不支持的話不要理會
#./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib --without-hardening
#make
#make install
# cp /你的openssh的解壓目錄/contrib/redhat/sshd.init /etc/init.d/sshd
# chmod +x /etc/init.d/sshd
# chkconfig --add sshd
#vim /etc/ssh/sshd_config #修改默認端口號
#service sshd stop
#cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
#cp /usr/local/openssh/bin/ssh /usr/bin/
# /etc/init.d/sshd restart 或 service sshd start
----修改ssh配置
vi /etc/ssh/sshd_config
PermitRootLogin yes
StrictModes yes
UsePAM yes
UseDNS no
-----關閉telnet
vi /etc/xinetd.d/telnet
disable = yes
/etc/init.d/xinetd restart