linux的ssh不能连接_linux关闭ssh服务命令linux退出ssh远程连接命令 - CSDN
  • 今天在手机端装了NetHunter 想连接PC的kali ,可是怎么都连不上 综合网友的经验: 1.修改sshd_config文件,命令为:vi /etc/ssh/sshd_config   将#PasswordAuthentication no的注释去掉,并且将no修改为yes   将#...

    今天在手机端装了NetHunter 想连接PC的kali ,可是怎么都连不上

    综合网友的经验:

    1.修改sshd_config文件,命令为:vi /etc/ssh/sshd_config

       将#PasswordAuthentication no的注释去掉,并且将no修改为yes

       将#PermitRootLogin prohibit-password的注释去掉 ,prohibit-password 改为yes

    2.重启服务

      service ssh restart


    再次连接OK

    据说如果还不行,可以尝试:(未经测试)

    #ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

    #ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

    执行命令后都会让输入密码,直接敲回车设置为空即可




    展开全文
  • 查看linux 端口监听 #netstat -tnlp | grep ssh 以上图,说明该ssh是开着的, 连接端口是78 然后打开安全组 78 即可 修改该端口为:22 #vim /etc/ssh/sshd_config 输入e 进入该文件 多加一个端口。22端口...

    查看linux 端口监听

    #netstat -tnlp | grep ssh 

    以上图,说明该ssh是开着的, 连接端口是78

    然后打开安全组 78 即可

    修改该端口为:22

    #vim  /etc/ssh/sshd_config

    输入e  进入该文件

    多加一个端口。22端口

     注意:1.将你的服务器安全组的端口打开,不然是连接不上去的。

                2.查看防火墙是否开启

                           1查看防火墙状态

                                 #systemctl status firewalld

                                    出现 Active: inactive (dead)灰色表示停止,看单词也行。

                                    出现Active: active (running)切高亮显示则表示是启动状态。

                 3.如果是关闭,什么也不关.只需要开启安全组端口即可,否则执行下面的

                2查询端口是否开放
                         #firewall-cmd --query-port=8080/tcp
                3开放80端口
                         #firewall-cmd --permanent --add-port=80/tcp
                4移除端口
                         #firewall-cmd --permanent --remove-port=8080/tcp
                5重启防火墙(修改配置后要重启防火墙)
                         #firewall-cmd --reload

    然后保存

    然后运行重启 ssh

    #service sshd reload

    接下来用ssh  测试你设置的端口是否能够连接上去,

    好连接成功说明你修改的端口可用,再去把之前的端口删除,重新启动ssh

    修改完成

    -----------------------------------------------------------------------------------------------------------------------------------

    欢迎加我微信一起交流:备注请填写来自:CSDN_技术交流

    展开全文
  • Linux ssh连接不

    2019-04-11 15:58:04
    ssh连接不上可能是因为防火墙的原因,我这次的问题是因为物理机ping不通虚拟机,所以设置了虚拟网卡自动获取IP,因为我的虚拟机NAT模式设置了DHCP模式,如若NAT模式自己配置了静态IP,在对应的虚拟网卡的ipv4属性里...

    第二次使用ssh就连接不上了,找了很多帖子,都没解决问题,后来看了下虚拟网卡信息,emmm…
    ssh连接不上可能是因为防火墙的原因,我这次的问题是因为物理机ping不通虚拟机,所以设置了虚拟网卡自动获取IP,因为我的虚拟机NAT模式设置了DHCP模式,如若NAT模式自己配置了静态IP,在对应的虚拟网卡的ipv4属性里要更改IP,
    在这里插入图片描述
    设置好后,重新连接,就连接上了

    展开全文
  • 文章目录Linux中怎么搭建SSH远程连接服务器一、远程连接服务器:1、什么是远程连接服务器:2、远程连接服务器的功能3、常见的几种远程管理工具方式:二、连接加密技术: Linux中怎么搭建SSH远程连接服务器 一、...

    Linux中怎么搭建SSH远程连接服务器

    一、远程连接服务器:

    1、什么是远程连接服务器:

    远程连接服务器通过文字或图形接口方式来远程登陆系统,使我们可以在远程终端登陆Linux主机以取得操作主机接口的权限。
    SSH建立在应用层基础上的安全协议,该协议目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议,它可以有效地防止远程管理过程中的信息泄露问题。

    2、远程连接服务器的功能

    (1)分享主机运算能力
    (2)服务器类型有限度开放连接
    (3)工作站类型,只对内网开放

    3、常见的几种远程管理工具方式:

    协议 注解
    RDP windows远程桌面管理图形界面
    telenet CLI界面下远程管理,几乎所有操作系统都有(内容明文传输)
    ssh CLI界面下的远程管理,几乎所有操作系统都有(内容加密传输)
    RFB 图形化远程管理协议 VNC使用的协议

    二、SSH连接加密技术:

    1、非对称密钥加密:

    非对称加密为数据的加密解密提供了一个非常安全的方法,它使用了两把钥匙分别是公钥和私钥。私钥只能由一方安全保管,不可外泄,公钥可以发给任何请求需要的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。

    2、对称密钥加密:

    发送方和接收方用一个相同的密钥去加密和解密数据。

    3、密钥技术证书:

    PFX标准: 公钥加密技术12号标准,它为存储和传输用户或服务器私钥、公钥以及证书指定了一个可移植的格式。它是一种二进制格式的文件,也称作PFX文件。该证书包含了私钥公钥,从该证书导出私钥的时候,是需要输入密码的。因此即使别人获取了你的证书,他无法知道提取私钥所需的密码,还是很安全的。
    CER: 用于存储公钥证书的文件格式。该证书只包含公钥,类似于访问某些基于https协议传输的网站,该网站的公钥是公开的,它会通过cer这种证书格式发送给客户端。
    RSA: 一种非对称密码算法。

    (1)什么是证书:

    证书说白了就是证明身份,是为了保证访问的人就是你要访问的人。它保证了密钥的合法性,将公钥与拥有对应私钥的主体标识信息捆绑在一起。
    证书的格式遵循由国际电信联盟制定的X.509标准

    X.509证书包含信息
    1、使用者的公钥值
    2、使用者的标识信息(如名称或电子邮件)
    3、证书的有效时间
    4、颁发者的标识信息
    5、颁发者的数字签名

    证书常用于web服务器身份验证、web用户身份验证、安全电子邮件、Internet协议安全。它是由权威公正的第三方机构CA签发。

    (2)CA(证书颁发机构):

    CA(Certificate Authority,证书颁发机构):它的核心功能是颁发与管理数字证书,除此之外,它更承担了公钥体系中公钥的合法性检验的责任。

    CA的作用包含以下几点
    1、处理证书申请
    2、鉴定申请者是否有资格接收证书
    3、证书的发放、更新
    4、接收最终用户数字证书的查询、撤销
    5、产生和发布证书吊销列表
    6、数字证书、密钥和历史数据的归档

    (3)证书发放过程:

    在这里插入图片描述
    图中RA为注册中心,CA为认证中心。注册中心可以有很多个,它负责审核证书申请者的真实身份。当有用户需要申请证书的时候:首先先向注册中心RA提出申请,RA收到后核实该用户是否符合受理;如果符合那么RA会向CA申请,CA收到后会将证书传给RA,最后由RA将证书传给用户。

    三、SSH远程连接验证方式

    SSH远程连接验证方式有两种,一种基于口令验证,但不太安全。因此有了第二种基于密钥进行安全验证。

    1、基于口令的安全验证:

    这个只需要你拥有自己的账号和口令,就可以远程登陆到主机。虽然所有传输的数据都会被加密,但是不能保证你登陆的服务器就是你想登陆的。这很有可能会有别的服务器冒充真正的服务器,不安全。

    2、基于密钥的安全验证:

    这种就相对比较安全,它依靠的是非对称加密算法传输密钥的。

    SSH连接过程:
    首先:客户端向服务端发起三次握手,建立连接
    1、首先服务端会通过非对称加密,产生一个公钥和私钥
    客户端服务端之间开始协商:算法、版本信息,为密钥交换做准备:
    2、客户端向服务端发送协议版本、自己支持的加密算法、一个随机数(明文)
    3、服务端收到后,选取加密算法然后告诉客户端,除此之外还包含:自己的证书(证书中包含公钥)、一个随机数(明文)
    4、客户端验证服务端的证书:验证通过后生成另一个随机数(密文),并用证书中的公钥加密该数,发送给服务端
    6、服务端通过自己的私钥解密获得这串随机数
    7、之后双方根据约定好的加密算法对上边的三个随机数进行加密,得到一个会话密钥,接下来的通信就用这个会话密钥做对称加密。

    如果用图片表示就是这样:
    在这里插入图片描述

    四、了解SSH配置:

    1、检查SSH包的安装:

    默认都是安装好的,保险起见,我们检查一下。使用rpm -qf 查看该服务是否安装,发现已经安装。使用rpm -ql 查看该SSH包安装后都释放了哪些文件,我们从中可以看到有关SSH服务端的配置文件在 /etc/ssh/sshd_config 中,除此之外,在该文件的同目录中,还有ssh_config这个文件也是有关SSH配置的,但是该文件是属于客户端的配置文件。
    在这里插入图片描述

    2、sshd_config配置注解:

    vim /etc/ssh/sshd_config(节选,开头数字表示行数)
    17 #Port 22
    18 #AddressFamily any 
    19 #ListenAddress 0.0.0.0
    20 #ListenAddress ::
    22 HostKey /etc/ssh/ssh_host_rsa_key
    23 #HostKey /etc/ssh/ssh_host_dsa_key
    24 HostKey /etc/ssh/ssh_host_ecdsa_key
    25 HostKey /etc/ssh/ssh_host_ed25519_key
    37 #LoginGraceTime 2m
    38 #PermitRootLogin yes
    39 #StrictModes yes
    40 #MaxAuthTries 6
    41 #MaxSessions 10
    43 #PubkeyAuthentication yes
    47 AuthorizedKeysFile      .ssh/authorized_keys
    65 PasswordAuthentication yes
    69 ChallengeResponseAuthentication no
    71 # Kerberos options
    115 #UseDNS yes
    133 Subsystem       sftp    /usr/libexec/openssh/sftp-server
    

    17默认监听端口为22端口
    18IPV4和IPV6协议家族支持哪个,any表示二者均支持
    19指明监听的地址,0.0.0.0表示本机的所有地址都可以被登陆
    20指明监听的IPV6的所有地址格式,::表示支持本地所有
    22默认rsa私钥认证
    23支持dsa私钥认证
    24支持ecdsa私钥认证
    25支持ed25519私钥认证
    37登录的宽限时间为2分钟,默认2分钟没有输入密码,则自动断开连接
    38是否允许管理员直接登录,yes表示允许
    39是否让sshd去检查用户主目录或相关文件的权限数据,yes表示允许
    40最大认证尝试次数,6表示最多只有6次机会。继续输错之后需要等待时间才能再次输入密码
    41允许的最大会话数,10表示最多开启10个会话
    43公钥认证,开启
    47服务器识别公钥时,会匹配 .ssh/名为authorized_keys文件,然后将公钥发给客户端,因此我们需要把有关公钥的文件名字改为这个名字。
    65是否允许支持基于口令的认证,是
    69是否允许任何的密码认证,否
    71是否支持kerberos(基于第三方的认证,如LDAP)认证的方式,默认为no
    115是否开启DNS,是(关闭的话可以在连接服务端时更快一些)
    113默认验证信息基于SFTP传输,如果在该段文字前加上“#”则不支持SFTP连接
    注:
    以上#开头的英文行,表示系统默认执行的,如果要修改建议不要删除原有文字,去掉#另写一行自己需要的配置则原默认的不再生效。

    3、修改配置文件:

    (1)17行修改端口号为2222后,登录的格式为ssh 192.168.112.132 2222(注意IP和端口号之间没有“:”是空格),命令如下,修改之后重启服务。让防火墙允许,回车显示成功(如果防火墙关闭就没必要写这些)。添加自定义端口到服务,之后回车没有错误,但如果提示 ValueError: Port tcp/4444 already defined 没关系,我们可以再换一个端口试试。
    在这里插入图片描述
    (2)38行配置不允许管理员登录的话,即使管理员输入正确的密码也无法登录,因此可以设定特定的用户可以登录。
    (3)65行修改密码认证改为no,我们新建对话:此时就需要调用证书进行连接会话
    在这里插入图片描述
    (4)可以在配置文件中加入 AllowUsers A B C 一行,可以让特定的用户SSH登录,其他的用户无法登录。
    其中,A、B、C表示为允许登录的账号,多个用户之间用空格隔开。

    五、搭建SSH服务:

    说明本次实验环境为VMware-workstation-full-14.0的两台虚拟机,服务端的名字是Server,客户端的名字是Client。加载的镜像文件是rhel-server-7.5-x86_64-dvd,且两台虚拟机之间均使用同一种网卡配置,本实验所采用的是网卡模式为NAT模式。

    1、基于口令的SSH登录:

    首先我们用Xshell分别连接两台虚拟机,一台模拟服务端,一台模拟客户端。
    输入指令 ssh root@192.168.112.132 -p 22 ,之后输入服务端的密码,然后成功远程登录。如下:
    在这里插入图片描述

    2、两台虚拟机之间实现SSH互信,免登录:

    该实验证明的是不通过口令登录即可实现远程连接。但由于对端要有本端的公钥,因此在传输的时候,我们是先用口令传输公钥给对端,对端收到后,再关闭基于口令的远程登录。最后再测试双方拿着对端的公钥,在用口令登录的方式没有的时候,看是否能实现登录。
    (1)首先在任意一台虚拟机上创建密钥对:使用命令 ssh-keygen -t rsa
    ① ssh-keygen表示生成、管理和转换认证密钥,-t rsa指定算法类型为rsa。
    ②密钥所在位置为 /root/.ssh/ 中,密钥的文件名叫做 id_rsa
    (2)输入密码,默认为空。由于我们直接基于钥匙来认证,这里直接回车,不设置密码。
    (3)于上一步骤一致:回车。最后基于RSA算法随机生成长度为2048的密钥图片。
    在这里插入图片描述
    (4)此时我们使用命令:ll /root/.ssh/ 查看到存放密钥的目录,发现有两把钥匙,公钥和私钥。
    在这里插入图片描述
    (5)然后我们将公钥发给另一台虚拟机Client,使用命令: scp /root/.ssh/id_rsa.pub root@192.168.112.129:/root/.ssh/authorized_keys 将该公钥文件发送到另一台虚拟机的指定目录,并取名为 authorized_keys 这是由于配置文件只识别该文件作为公钥文件。如果原来的文件名不改,则会提示权限被拒绝。
    之后它会提示无法确定主机的真实性,问你是否需要继续连接。我们输入yes后,它会要求输入对端口令,我们输入后便成功将公钥给了另一台虚拟机。
    (6)我们修改配置文件 vim /etc/ssh/sshd_config ,将65行的yes改为no:PasswordAuthentication no。最后我们检测直接登录对端,发现没有输入口令,直接登录进去。
    在这里插入图片描述
    (7)以上就实现了SSH单方面信任,然后我们回头看,会在.ssh/下又多了一个文件,该文件记录了与谁之间的信任,如果删除该文件,还需要重新进行连接。只要对端有自己的公钥就没有关系,输入yes后,继续连接也可以,并没有输入密码。除此之外,还要说明的是这里只将Server的公钥给了Client,但是Client并没有把公钥给Server,因此Server能免密登录Client,而Client不能实现免密登录Server。要实现互信,双方都需要有对方的公钥,这里不再做演示。
    在这里插入图片描述

    3、通过Xshell使用证书进行登录:

    本次实验与之前实验无关,如果不想恢复快照,请删除/root/.ssh下的所有文件,该实验仅需要一台虚拟机即可。思路与之前一致,先打开密码认证并传输私钥至windows,然后关闭密码认证,使用私钥证书进行登录。
    (1)首先保证虚拟机上开启基于密码的认证: vim /etc/ssh/sshd_config
    65行:PasswordAuthentication yes
    (2)紧接着创建密钥对:使用命令: ssh-keygen -t rsa -b 4096 指定类型为rsa,指定大小为4096。然后回车回车。
    在这里插入图片描述
    (3)创建密钥对好后,我们使用命令将公钥文件名进行重命名为服务可识别的公钥名字。
    在这里插入图片描述
    (4)切换到/root/.ssh目录 点击Xshell文件传输图标,双击私钥文件id_rsa,此时文件已被传输至windows桌面。紧接着我们关闭密码登录,重启服务后准备检测。
    在这里插入图片描述
    (5)检测:我们新建一个对话窗口,然后点击浏览,选择文件为私钥文件,最后点击确认。我们便成功发现已经登录进来。
    在这里插入图片描述
    但是我们发现传输私钥是一种很不安全的行为,对此xshell将私钥通过加密算法为公钥,这样使得密钥传输变得更安全。
    点击工具,然后用户密钥管理者。
    在这里插入图片描述
    然后导入选中密钥文件,紧接着点击生成公钥。
    在这里插入图片描述
    选择公钥类型为rsa类型,长度自己选。然后下一步。
    在这里插入图片描述
    在这里插入图片描述
    密码跳过,我们就不再设置了。
    在这里插入图片描述
    在这里插入图片描述
    看到以下画面时,说明该私钥文件转换为的公钥文件已经好了。
    在这里插入图片描述
    之后再把这个文件移动到虚拟机里面,同样命名为authorized_keys。当下次需要登录时,我们将证书文件选择为刚才生成的id_rsa_1024这个密钥(注意点击浏览后选择用户密钥,不是文件。这里已经基于私钥文件生成了一个公钥)确认,便成功登录。

    展开全文
  • 最近发现公司新linux控制器使用ssh连接特别慢,大概要10秒钟左右,scp也是需要10秒左右,但是ping速度特别快。使用ssh -l IP -v 可以查看连接卡在,SSH2_MAG_SERVICE_ACCEPT received后,停顿了一会才执行下面的操作...

        最近发现公司新linux控制器使用ssh连接特别慢,大概要10秒钟左右,scp也是需要10秒左右,但是ping速度特别快。使用ssh -l IP -v 可以查看连接卡在,SSH2_MAG_SERVICE_ACCEPT received后,停顿了一会才执行下面的操作。在网上查资料看到有以下几种解决方式。

    1、在server上/etc/hosts文件中把你本机的ip和hostname加入

    2、在server上/etc/ssh/sshd_config文件中修改或加入UseDNS=no,另外在authentication gssapi-with-mic也有可能出现问题,在server上/etc/ssh/sshd_config文件中修改GSSAPIAuthentication no.

    3、修改server上/etc/nsswitch.conf中hosts为hosts: files

    4、reboot server使配置生效

    /etc/init.d/sshd restart重启sshd进程使配置生效。

          第一种感觉只适合自己用,总不能换一台电脑连接,就要加入新的ip和hostname吧,第二种我这边的机器上默认的就有,所以不是这个问题,第三种在我这边文件里是hosts : files dns ,就是说解析一个域名时,先会找/etc/hosts文件,如果/etc/hosts文件没有对应,才会去找DNS,所以第三种方法就是不让系统去找DNS。对于第三种操作因为默认是是查找DNS的,在/etc/ssh下有两个文件,ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。两个配置文件都允许你通过设置不同的选项来改变客户端程序的运行方式。还可以通过在sshd_config中添加UseDNS  no实现第三种方式,然后重启ssh,发现ssh连接速度就很快了。

         但是为什么让系统去找DNS的时候会有问题,感觉根本的问题没有找到。然后就去研究了一下系统里面关于DNS配置的情况,有三个优先级:

         HOST 本地DNS解析 > 网卡配置文件DNS服务地址 > 系统默认DNS配置

    1.HOST 本地DNS解析

     vi /etc/hosts

    添加规则 例如:

    223.231.234.33 www.baidu.com

     也就是上面第一种方法为什么会有用,因为如果其他优先级DNS配置有问题也首先会执行本地解析,然后我这边机器hosts文件是空的,所以排除。

    2.网卡配置文件DNS服务地址

    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    添加规则 例如:
    DSN1='114.114.114.114'

    不同的机器可能路径不同,我这边的也没问题所以排除。

    3.系统默认DNS配置

    vi /etc/resolv.conf
    添加规则 例如:
    nameserver 114.114.114.114

    然后我发现我这边的文件里写的是 nameserver 8.8.8.8,8.8.8.8是google提供的免费DNS服务器的IP地址,而我这边没有联网,所以有问题,改成nameserver 127.0.0.1即可,不需要在关闭DNS。

    总结:有时候找到的解决问题的办法只是基于表面的,所以最好深究一下。

    展开全文
  • Linux ssh命令详解

    2019-03-23 13:28:56
    Linux ssh命令详解 SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。 ssh...
  • linux ssh拒绝连接

    2016-08-17 00:10:34
    1、sudo vi /etc/ssh/sshd_config 将PermitRootLogin修改为yes 2、sudo /etc/init.d/ssh restart重启动了sshd服务
  • SSH 远程连接 腾讯云服务器
  • 问题:ping通Linux服务器 但是ssh连不上 Linux redhat AS4 版本>  解决方法这个问题花了我20分钟去查资料,网上写的解决方法也是五花八门,不过,总算解决了,分享出来和大家一起学习。  服务器正常,...
  • SSH建立连接的过程主要分为下面几个阶段: SSH协议版本协商阶段。SSH目前包括SSH1和SSH2两个大版本。 密钥和算法协商阶段,SSH支持多种加密算法,双方根据自己和对端支持的算法进行协商,最终决定要使用的算法。 ...
  • linux通过ssh反向连接,实现局域网外访问局域网内的设备。
  • Linux配置SSH服务以便实现远程连接
  • Linux ssh登录命令

    2014-04-07 22:19:43
    ssh命令用于远程登录上Linux主机。 常用格式:ssh [-l login_name] [-p port] [user@]hostname 更详细的可以用ssh -h查看。 举例 指定用户: ssh 192.168.0.11 指定用户: ssh -l root 192.168.0.11 ...
  • 连接SSH服务器刚刚离开一会就断开,不得需要反复连接服务器,为了使SSH服务器可以保持足够的连接时间,大家可以按以下方法设置: 基于安全的理由,如果用户连线到 SSH Server 后闲置,SSH Server 会在...
  • SSH客户端连接linux服务器时,经常会出现与服务器会话连接中断现象,造成这个问题的原因便是SSH服务有自己独特的会话连接机制。 解决方案: 1、设置服务器向SSH客户端连接会话发送频率和时间 #vi /etc/ssh/sshd_...
  • 一、设置ssh超时断 使用root用户,编辑/etc/profile文件,在 HOSTNAME='/bin/hostname' HISTIZE=30 后增加一行  TMOUT=300 其中,300表示超过300秒无操作即断开连接。 设置好之后,所有新建...
  • window通过ssh连接linux 1.window上要安装ssh  下载连接:https://www.mls-software.com/opensshd.html  版本:OpenSSH 7.9p1-1  下载好后安装 2.linux上启动ssh服务  有些可能没有ssh服务,需要下载安装  2.1...
  • 系统 linux,增加SSH终端连接数最大为100个 解决方案: 1) 修改/etc/ssh/sshd_config中#MaxStartups 10:30:60,将其改为MaxStartups 1000 2) 重启SSH服务,/etc/init.d/ssh restart     /etc/rc.d/init.d/...
  • 远程连接工具常用的有Puttty、secureCRT、SSH Secure等我使用SSH Secure工具进行远程连接,该工具是免费的图形化界面及命令行窗口集一身的远程工具。安装后,会出现两个图标:点击图形化界面图标:-----------------...
  • 问题描述oralce linux 可以ssh到其他设备,可是其他设备ssh不上oracle linux ssh username@hostip -v OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config ...
1 2 3 4 5 ... 20
收藏数 151,363
精华内容 60,545
关键字:

linux的ssh不能连接