各位大神.怎样在Linux redhat上安装openssh7.2
发布网友
发布时间:2022-04-21 17:36
我来回答
共1个回答
热心网友
时间:2022-04-15 03:35
这个是7.1的 7.2一样
Openssh7.1p1升级方案
OpenSSH_7.1p1、Openssl1.01p、zlib1.28
第一步 准备安装包
1.1、 确定操作系统
uname -a
lsb_release -a(suse)
cat /etc/issue(redhat)
1.2、 将所需安装包上传到服务器
zlib-1.2.8.tar.gz
openssl-1.0.1p.tar.gz
openssh-7.1p1.tar.gz
相关下载:www.openssl.org、www.openssh.org、www.zlib.net、
//先把所有安装文件上传服务器,再卸载ssh,要不文件上传非常麻烦,在系统镜像中找到gcc安装包一并上传,大部分make失败都是gcc未安装或者安装不全造成。
第二步 准备好其他远程方式
2.1、此项可选择telnet或者vnc来进行远程操作
安装telnet服务,telnet安装rpm包对应操作系统ISO文件里面提取,建议不要跨操作系统版本安装,减少未知问题。
vi /etc/xinetd.d/telnet
disable = yes改成 no。
service xinetd restart
vi /etc/securetty加入
pts/0
pts/1
pts/2
pts/3
vi /etc/pam.d/login文件注释掉:
#auth [user_unknown=ignore success=ok ignore=ignore
#auth_err=die default=bad] pam_securetty.so
//以上步骤保证root用户可以telnet,保证后续远程配置正常进行。
第三步 程序升级
3.1、停止SSHD服务
# /sbin/service sshd stop
3.2、备份启动脚本
# cp /etc/init.d/sshd /root/
3.3、卸载系统里原有Openssh
# rpm -qa openssh //查询系统原安装的openssh包,全部卸载。
# rpm -e openssh --nodeps
# rpm -e openssh-server --nodeps
# rpm -e openssh-clients --nodeps
# rpm -e openssh-askpass
3.4、解压安装zlib包:
# tar -zxvf zlib-1.2.8.tar.gz//首先安装zlib库,否则会报zlib.c错误无法进行
# cd zlib-1.2.8
# ./configure
# make&&make install
3.5、解压安装openssl包:
# tar -zxvf openssl-1.0.1p.tar.gz
# cd openssl-1.0.1p
# ./config shared zlib
# make
# make test
# make install
# mv /usr/bin/openssl /usr/bin/openssl.OFF
# mv /usr/include/openssl /usr/include/openssl.OFF
//该步骤可能提示无文件,忽略即可
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
# ln -s /usr/local/ssl/include/openssl /usr/include/openssl
//移走原先系统自带的openssl,将自己编译产生的新文件进行链接。
3.6、配置库文件搜索路径
# echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
# /sbin/ldconfig -v
# openssl version -a
OpenSSL 1.0.1m 19 Mar 2015
built on: Sat Mar 21 04:11:47 2015
platform: linux-x86_64
options: bn(64,64) rc4(8x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/local/ssl
3.7、解压安装openssh包:
先将将/etc/ssh的文件夹备份:
# mv /etc/ssh /etc/ssh_bak
# tar -zxvf openssh-7.1p1.tar.gz
# cd openssh-7.1p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man --with-pam
# make
# make install
ssh –V
OpenSSH_7.1p1, OpenSSL 1.0.1p 9 Jul 2015
3.8、启动调试ssh
# /usr/sbin/sshd -d
debug1: sshd version OpenSSH_7.1, OpenSSL 1.0.1m 19 Mar 2015
debug1: private host key #0: ssh-rsa SHA256:EqDJvZiq8JgG+nG/xsmZ6yrd3B+OoulgE5GhzSZcJHg
debug1: private host key #1: ssh-dss SHA256:AmqP8tvvqy3t1dSy1P4ETqh8Poma40PmzDpTtipVIqQ
debug1: private host key #2: ecdsa-sha2-nistp256 SHA256:sebvQl7OXvlFsbBy9zuUYPwWfqJm47qYBi/IIcEA8Jk
debug1: private host key #3: ssh-ed25519 SHA256:niy1XbgnrydgeFXfMqVjkfRbUlZ4YeFsWof2cWoCBWc
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
debug1: Bind to port 22 on ::.
Bind to port 22 on :: failed: Address already in use.
Cannot bind any address.
3.9、启动服务
# cp -p contrib/redhat/sshd.init /etc/init.d/sshd(redhat使用)
# cp -p contrib/suse/rc.sshd /etc/init.d/sshd(suse使用)
//其他版本操作系统具体查看contrib对应目录和readme。
# chmod +x /etc/init.d/sshd
# chkconfig --add sshd
# cp sshd_config /etc/ssh/sshd_config (如提示覆盖,yes回车)
# cp sshd /usr/sbin/sshd (如提示覆盖,yes回车)
10、验证是否成功
service sshd start
ssh -V
OpenSSH_7.1p1, OpenSSL 1.0.1m 19 Mar 2015
此时可以尝试远程ssh进去服务器,如果能连,并查看验证日志信息等确认无误。
查看ssh服务状态:
//以下配置redhat略有不同,具体情况具体解决。
/etc/init.d/sshd status
Checking for service sshd unused
状态不可用,ssh连接正常。
pkill sshd
杀掉sshd服务
service sshd start
启动sshd服务
service sshd status
Checking for service sshd running
卸载telnet-server
rpm –e telnet-server
客户端连接telnet失败。
# vi /etc/ssh/sshd_config
PermitRootLogin yes