各位大神.怎样在Linux redhat上安装openssh7.2
这个是71的 72一样
Openssh71p1升级方案
OpenSSH_71p1、Openssl101p、zlib128
第一步 准备安装包
11、 确定操作系统
uname -a
lsb_release -a(suse)
cat /etc/issue(redhat)
12、 将所需安装包上传到服务器
zlib-128targz
openssl-101ptargz
openssh-71p1targz
相关下载:wwwopensslorg、wwwopensshorg、wwwzlibnet、
//先把所有安装文件上传服务器,再卸载ssh,要不文件上传非常麻烦,在系统镜像中找到gcc安装包一并上传,大部分make失败都是gcc未安装或者安装不全造成。
第二步 准备好其他远程方式
21、此项可选择telnet或者vnc来进行远程操作
安装telnet服务,telnet安装rpm包对应操作系统ISO文件里面提取,建议不要跨操作系统版本安装,减少未知问题。
vi /etc/xinetdd/telnet
disable = yes改成 no。
service xinetd restart
vi /etc/securetty加入
pts/0
pts/1
pts/2
pts/3
vi /etc/pamd/login文件注释掉:
#auth [user_unknown=ignore success=ok ignore=ignore
#auth_err=die default=bad] pam_securettyso
//以上步骤保证root用户可以telnet,保证后续远程配置正常进行。
第三步 程序升级
31、停止SSHD服务
# /sbin/service sshd stop
32、备份启动脚本
# cp /etc/initd/sshd /root/
33、卸载系统里原有Openssh
# rpm -qa openssh //查询系统原安装的openssh包,全部卸载。
# rpm -e openssh --nodeps
# rpm -e openssh-server --nodeps
# rpm -e openssh-clients --nodeps
# rpm -e openssh-askpass
34、解压安装zlib包:
# tar -zxvf zlib-128targz //首先安装zlib库,否则会报zlibc错误无法进行
# cd zlib-128
# /configure
# make&&make install
35、解压安装openssl包:
# tar -zxvf openssl-101ptargz
# cd openssl-101p
# /config shared zlib
# make
# make test
# make install
# mv /usr/bin/openssl /usr/bin/opensslOFF
# mv /usr/include/openssl /usr/include/opensslOFF
//该步骤可能提示无文件,忽略即可
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
# ln -s /usr/local/ssl/include/openssl /usr/include/openssl
//移走原先系统自带的openssl,将自己编译产生的新文件进行链接。
36、配置库文件搜索路径
# echo "/usr/local/ssl/lib" >> /etc/ldsoconf
# /sbin/ldconfig -v
# openssl version -a
OpenSSL 101m 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
37、解压安装openssh包:
先将将/etc/ssh的文件夹备份:
# mv /etc/ssh /etc/ssh_bak
# tar -zxvf openssh-71p1targz
# cd openssh-71p1
# /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_71p1, OpenSSL 101p 9 Jul 2015
38、启动调试ssh
# /usr/sbin/sshd -d
debug1: sshd version OpenSSH_71, OpenSSL 101m 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 0000
Bind to port 22 on 0000 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
39、启动服务
# cp -p contrib/redhat/sshdinit /etc/initd/sshd(redhat使用)
# cp -p contrib/suse/rcsshd /etc/initd/sshd(suse使用)
//其他版本操作系统具体查看contrib对应目录和readme。
# chmod +x /etc/initd/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_71p1, OpenSSL 101m 19 Mar 2015
此时可以尝试远程ssh进去服务器,如果能连,并查看验证日志信息等确认无误。
查看ssh服务状态:
//以下配置redhat略有不同,具体情况具体解决。
/etc/initd/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
如何开启ssh服务?
一般的linux系统都是默认安装了ssh服务,ssh的服务名一般都是sshd:servicesshdstart开启ssh服务servicesshdstop停止ssh服务servicesshdrestart重启ssh服务或者使用使用带有路径的脚本:/etc/initd/sshdstart/etc/initd/sshdstop/etc/initd/restart
linuxssh保持连接用什么命令?
通过ssh连接到linux服务器,如果时间长了,可能连接会自动断开。为了保持ssh连接,需要在比较短的时间内,发生数据的传送。
要达到这个目的,你可以运行一个不断显示变化内容的程序,比如你可以使用top这个命令,然后就能够不断地显示系统的各个进程的状态,这样就能保持连接时间长一点。
SSH是什么?Linux如何修改SSH端口号?
1
SSH为SecureShell
由IETF的网络工作小组(NetworkWorkingGroup)所制定;
SSH是建立在应用层和传输层基础上的一种安全协议。
SSH传输数据是加密的,可以有效防止传输过程被截取数据保障安全。
SSH的数据是经过压缩的,所以可以加快传输的速度
1
首先查看一下当前linux是否已经安装SSH软件包,使用rpm-qa|grepssh
2确认ssh服务已经开启
3找到SSh服务配置文件路径一般都是在/etc/ssh这个目录下面sshd_config这个文件
编辑修改SSH端口号
1使用VIvim编辑器,打开sshd_config这个文件,搜索找到port字段
2将光标定位到port22这行yy然后键盘P复制一行,insert插入编辑22端口为2222
3设置好之后,wq保存退出,表示已经增加了一个2222端口号啦
4设置好之后,当然需要重启SSH服务了。
5如果您有设置防火墙,请修改增加防火墙规则,或者直接关闭防火墙也行
注意事项
SSH端口默认是22,如果要修改直接编辑22端口注意前面的“#”要去掉,然后保存重启
linux下没有ssh服务怎么办?
linux下一般是有ssh服务的,如果没有可以使用yuminstallssh进行在线安装。
linux下没有ssh服务怎么办?
linux下一般是有ssh服务的,如果没有可以使用yuminstallssh进行在线安装。
Linux服务器可以用SSH连接上,可是pingIP为什么不通?
Linux服务器可以SSH连接,但是ping不通是因为防火墙策略禁止了icmp包,可以通过以下方式解除禁ping即可。
1、查看iptables策略,使用-D删除相应的icmp报文策略。netipv4icmp_echo_ignore_all=0//改为0即为关闭禁ping,1为开启禁ping
SSH连接linux服务器反复提示输密码?
ssh不能登录linux需要检查客户端和服务器端:
客服端:
ssh连接方式为:ip+端口号(默认为22)
服务器端:
1、先把sshd服务开启;
/etc/initd/shhdrestrat2、把linux的防火墙关掉;
1)重启linux后生效:
chkconfigiptablesoff2)即时生效,重启后失效:
serviceiptablesstop3、客户端重新ssh登陆linux。
SSH服务器失败怎么办?
分享三个SSH服务器失败的修复办法:解决方法:
一、开启SSH以root用户登录Linux,打开终端,运行:/etc/initd/sshdrestrat二、关闭防火墙1、在终端运行setup2、选择firewall回车3、按tab键切换到disablede项,然后按空格键选择,然后再按tab键切换到ok,按空格件选择4、按tab键切换到quit,按空格件选择然后用客户端ssh登录Linux,成功登录。
三、关闭防火墙的另一种方式补充一个,红旗linux的某些版本,不允许root用户远程登陆的,需要修改设置#vi/etc/ssh/sshd_config中PermitRootLoginno#这就不允许root用户远程登录,要修改成PermitRootLoginyes并重启sshd服务才行的。#servicesshdrestart重新登录OK。
在redhatlinux70中手动设置的ip为什么无法用ssh登录?
内网连接成功说明ssh服务没有问题,可能的问题是nat、路由或边界访问控制。请做如下测试:
1、在redhatlinux上开启tcpdump进行数据包抓取,具体如下:tcpdump-n"tcpport22";
2、在外网对redhatnat后的外网ip地址进行ssh连接尝试,此时如果在redhat的tcpdump下有数据包出现,则说明你的nat没有问题。请确认在redhat上是否有正确设置网关。
3、在外网对redhatnat后的外网ip地址进行ssh连接尝试,此时如果在redhat的tcpdump下没有数据包出现,则说明你的nat有问题,或者在路由器上是否存在访问控制策略,请检查。
ssh软件有哪些?
SSH客户端是在管理和配置Linux服务器用到很多的软件了,一款好的SSH管理软件不但可以让你更好地执行Linux命令,对于工作效率的提升也是非常明显。
MobaXterm是一个非常强大的终端增强工具,除了支持基本的SSH终端管理外,还有非常多的增强和扩展功能。
Xshell是国内比较流行的SSH管理软件,和其他的SSH客户端相比,Xshell更加注重用户体验的一些东西。
Termius是一款全平台的SSH客户端,该软件最大的特点就是支持全部平台。
PuTTY是一款开源免费的SSH客户端,支持SCP,SSH,Telnet,rlogin等多种网络协议。
SimpleRemote是一款免费开源的远程连接管理工具,软件非常的小巧。
sshshell是什么软件?
sshshell是一个用来替代telnet,ftp以及r命令的工具包的软件,主要是想解决口令在网上明文传输的问题,为了系统安全和用户自身的权益,推广sshshell是必要的,通过sshshell,可以把所有传输的数据进行加密,这样也能防止dns欺骗和IP欺骗。
linux远程工具?
1、Xshell
介绍:xshell是一个非常强大的安全终端模拟软件,它支持SSH1,SSH2,以及Windows平台的TELNET协议。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。(也是我目前使用的远程连接工具)
2、secureCRT
介绍:
SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输
LinuxSuse93如何配置ssh服务?
suselinux查看ssh服务的方法查询安装SSH服务1登陆linux系统,打开终端命令。输入rpm-qa|grepssh查找当前系统是否已经安装2如果没有安装SSH软件包,可以通过yum或rpm安装包进行安装(具体就不截图了)启动SSH服务2安装好了之后,就开启ssh服务。Ssh服务一般叫做SSHD命令行输入servicesshdstart可以启动或者使用/etc/initd/sshdstart配置查看SSHD端口3查看或编辑SSH服务配置文件,如vi/etc/ssh/sshdconfig如果要修改端口,把port后面默认的22端口改成别的端口即可(注意前面的#号要去掉)远程连接SSH4如果需要远程连接SSH,需要把22端口在防火墙上开放。关闭防火墙,或者设置22端口例外
linux服务之OpenSSH服务?
OpenSSH这一术语指系统中使用的SecureShell软件的软件实施。用于在远程系统上安全运行shell。如果您在可提供ssh服务的远程Linux系统中拥有用户帐户,则ssh是通常用来远程登录到该系统的命令。ssh命令也可用于在远程系统中运行命令。
常见的远程登录工具有:
telnet
ssh
dropbear
telnet//远程登录协议,23/TCP//一般用于测试端口或者接口是否开启
认证明文
数据传输明文
ssh//SecureSHell,应用层协议,22/TCP
通信过程及认证过程是加密的,主机认证
用户认证过程加密
数据传输过程加密
dropbear//嵌入式系统专用的SSH服务器端和客户端工具,一般应用于手机上
12SSH版本
openssh有两个版本,分别为v1和v2,其特点如下:
v1:基于CRC-32做MAC,无法防范中间人攻击
mtu1500qdiscpfifo_faststateUPqlen1000link/ether00:0c:29:8e:77:9bbrdff:ff:ff:ff:ff:ffinet192168112131/24brd192168112255scopeglobaldynamicens33valid_lft1191secpreferred_lft1191secinet6fe80::bc68:f1a3:4a1f:87fb/64scopelinkvalid_lftforeverpreferred_lftforever
//在用另一台主机通过ssh来远程执行命令
#sshroot@192168112131'/usr/sbin/ipasens33'
root@192168112131'spassword:
2:ens33:BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000link/ether00:0c:29:8e:77:9bbrdff:ff:ff:ff:ff:ffinet192168112131/24brd192168112255scopeglobaldynamicens33valid_lft1783secpreferred_lft1783secinet6fe80::bc68:f1a3:4a1f:87fb/64scopelink
valid_lftforeverpreferred_lftforever
#
//w命令可以显示当前登录到计算机的用户列表。这对于显示哪些用户使用ssh从哪些远程位置进行了登录以及执行了何种操作等内容特别有用
#ssh192168112131
root@192168112131'spassword:
Lastlogin:MonApr114:30:572019from19216811214
//在切换到GUI主机使用w命令查看可以看到19216811214用户在登陆中
#w14:40:59up4:37,2users,loadaverage:000,002,005
USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT
rootpts/0192168112110:03300s017s001sw
rootpts/11921681121414:40200s003s003s-bash
15SSH主机密钥
ssh通过公钥加密的方式保持通信安全。当某一ssh客户端连接到ssh服务器时,在该客户端登录之前,服务器会向其发送公钥副本。这可用于为通信渠道设置安全加密,并可验证客户端的服务器。
当用户第一次使用ssh连接到特定服务器时,ssh命令可在用户的/ssh/known_hosts文件中存储该服务器的公钥。在此之后每当用户进行连接时,客户端都会通过对比/ssh/known_hosts文件中的服务器条目和服务器发送的公钥,确保从服务器获得相同的公钥。如果公钥不匹配,客户端会假定网络通信已遭劫持或服务器已被入侵,并且中断连接。
这意味着,如果服务器的公钥发生更改(由于硬盘出现故障导致公钥丢失,或者出于某些正当理由替换公钥),用户则需要更新其~/ssh/known_hosts文件并删除旧的条目才能够进行登录。
//主机ID存储在本地客户端系统上的~/ssh/known_hosts中(家目录中的隐藏目录ssh)
#cat/root/ssh/known_hosts
192168112131ecdsa-sha2-nistp256AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJvfkdzYN1ayz0bbvSc5be4/rddT4r2q/DfLo6VtruJgNNsexqi5GzSJ7AGB1kECRSw4/eg1Z11x05bGjRJfL+8=
//主机密钥存储在SSH服务器上的/etc/ssh/ssh_host_key中(也就是不手动生成密钥的情况下会自动使用这里的密钥)
#ls/etc/ssh/key
/etc/ssh/ssh_host_ecdsa_key/etc/ssh/ssh_host_ecdsa_keypub/etc/ssh/ssh_host_ed25519_key/etc/ssh/ssh_host_ed25519_keypub/etc/ssh/ssh_host_rsa_key/etc/ssh/ssh_host_rsa_keypub
2配置基于SSH密钥的身份验证
用户可通过使用公钥身份验证进行ssh登录身份验证。ssh允许用户使用私钥-公钥方案进行身份验证。这意味着将生成私钥和公钥这两个密钥。私钥文件用作身份验证凭据,像密码一样,必须妥善保管。公钥复制到用户希望登录的系统,用于验证私钥。公钥并不需要保密。拥有公钥的ssh服务器可以发布仅持有您私钥的系统才可解答的问题。因此,可以根据所持有的密钥进行验证。如此一来,就不必在每次访问系统时键入密码,但安全性仍能得到保证。
使用ssh-keygen命令生成密码。将会生成私钥/ssh/id_rsa和公钥/ssh/id_rsapub。
//使用ssh-keygen生成密钥时首先会询问你密钥文件存放的位置,默认是在/root/ssh/id_rsa和id_rsapub
#ssh-keygen
Generatingpublic/privatersakeypair
Enterfileinwhichtosavethekey(/root/ssh/id_rsa):
//接着会询问你是否为你的私钥配置密码
Enterpassphrase(emptyfornopassphrase):
//最后会提示你密钥创建成功,私钥存放在id_rsa,公钥放在id_rsapub
Youridentificationhasbeensavedin/root/ssh/id_rsa
Yourpublickeyhasbeensavedin/root/ssh/id_rsapub
Thekeyfingerprintis:
SHA256:XFV5J+RPAuuHQZBipB8yUyQ22/QAOWT+z2Tsi+cJcpwroot@CTL
Thekey'srandomartimageis:
//RSA算法密钥一般为2048位
+-------+
|B=o+oo|
|+oOooo+oo|
|Booooooo|
|B+o+|
|S+o|
|B|
|E+|
|ooo|
|o+|
+---------+
注意:
生成密钥时,系统将提供指定密码的选项,在访问私钥时必须提供该密码。如果私钥被偷,除颁发者之外的其他任何人很难使用该私钥,因为已使用密码对其进行保护。这样,在攻击者破解并使用私钥前,会有足够的时间生成新的密钥对并删除所有涉及旧密钥的内容。
ssh是可以代替telnet的一种远程管理的方式.并且具有安全\快捷等优点的一种服务.
方法一:进入Xwindows, 在shell窗口执行setup命令,选择system service启动sshd服务.
方法二:在/etc/ssh/sshd_config 文件中,将permitRootLogin no|yes设置为允许root用户远程登录
/etc/initd/sshd start 启动ssh服务
/etc/initd/sshd stop关闭服务
启动:
service sshd start
安装过程:
1以root身份登入系统(没登入系统和没有足够的权限都不能安装,晕,这不是废话)
2检查安装系统时是否已经安装SSH服务端软件包:
rpm -qa|grep openssh
若显示结果中包含openssh-server-,则说明已经安装,直接启动
sshd服务就可以了(service sshd start)(其中的内容是该包的版本,一般为35p1-6)
若无任何显示,或显示中不包含openssh-server-则说明没有安装SSH服务端软件包, 进入第3步
3找到redhat 90 安装光盘,放入光驱中并加载光驱
mount -t iso9660 /dev/cdrom /mnt/cdrom (加载光驱命令)
4查找光驱中的SSH服务端软件所在目录,一般在/mnt/cdrom/RedHat/RPMS/目录下,
可以先cd到该目录下再用ls查看,如:ls openssh,然后根据上面具体显示直接安装
rpm -ivh openssh-35p1-6 (如果第二步中显示已经安装该包就不要安装)
rpm -ivh oeenssh-server-35p1-6
5启动sshd服务 /etc/rcd/initd/sshd start
netstat -a | more看有没正常启动
如果出现:
tcp 0 0 :ssh : LISTEN
就说明正常启动了
6在windows 下用putty等SSH客户端软件连接测试,或直接在linux主机上输入
ssh 测试,但必须要先安装linux 下的SSH客户端软件包,即
openssh-clients-,安装过程和上面的服务端包相同
7若能成功远程登入,则说明SSH服务安装配置成功,
否则很可能就是你的防火墙阻止连接了,重新配置防火墙或干脆先停掉防火墙
(/etc/rcd/initd/iptables stop) 就可以连接了
或者service iptables stop
0条评论