1、密码没有问题 。2、防火墙没有禁用端口。3、ssh服务已安装且开启
一般是ssh配置文件问题
打开ssh配置文件 vim /etc/ssh/sshd_config

#######################################################################
# ! ! ! ! ! IMPORTANT ! ! ! ! ! #
# * Your system has detected a weak password for root account and for #
# security reasons, remote access via SSH has been blocked to prevent #
# unauthorized access. In order to enable again remote access to this #
# machine for root user via SSH, set a new complex password for root #
# account and delete 'DenyUsers root' line below on this config file. #
# * Restarting the SSH Daemon is required for changes to take effect. #
# #
# Bash commands: #
# passwd root (Changes your root password). #
# service sshd restart (Restart the SSH Daemon). #
DenyUsers root
#######################################################################

莫名其妙多了一个声明弱密码把root用户禁用了 把DenyUsers root #注释掉保重启ssd服务即可
service sshd restart 重启sshd服务即可

PermitRootLogin项改为yes  允许root远程登录
Port 22  可更改ssh端口

拓展:

只允许固定ip登录(类似跳板机)
/etc/ssh/sshd_config
在文件中添加
AllowUsers root@192.168.0.15 ip或者域名
service sshd restart 重启sshd服务即可

ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。

下面ssh_config客户端配置参数解析

# Site-wide defaults for some commonly used options.
带“#”表示该句为注释不起作,该句不属于配置文件原文,意在说明下面选项均为系统初始默认的选项。说明一下,实际配置文件中也有很多选项前面加有“#”注释,虽然表示不起作用,其实是说明此为系统默认的初始化设置。

Host *
"Host"只对匹配后面字串的计算机有效,“*”表示所有的计算机。从该项格式前置一些可以看出,这是一个类似于全局的选项,表示下面缩进的选项都适用于该设置,可以指定某计算机替换*号使下面选项只针对该算机器生效。

ForwardAgent no
"ForwardAgent"设置连接是否经过验证代理(如果存在)转发给远程计算机。

ForwardX11 no
"ForwardX11"设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAYset)。

RhostsRSAAuthentication no
"RhostsRSAAuthentication"设置是否使用用RSA算法的基于rhosts的安全验证。

RSAAuthentication yes
"RSAAuthentication"设置是否使用RSA算法进行安全验证。

PasswordAuthentication yes
"PasswordAuthentication"设置是否使用口令验证。

BatchMode no
"BatchMode":批处理模式,一般设为"no";如果设为"yes",交互式输入口令的提示将被禁止,这个选项对脚本文件和批处理任务十分有用。

CheckHostIP yes
"CheckHostIP"设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为"yes"。

StrictHostKeyChecking no
"StrictHostKeyChecking"如果设为"yes",ssh将不会自动把计算机的密匙加入"$HOME/.ssh/known_hosts"文件,且一旦计算机的密匙发生了变化,就拒绝连接。

IdentityFile ~/.ssh/identity
"IdentityFile"设置读取用户的RSA安全验证标识。

Port 22
"Port"设置连接到远程主机的端口,ssh默认端口为22。

EscapeChar ~
“EscapeChar”设置escape字符。

下面sshd_config服务器端配置参数解析

Port 22

#设置ssh监听的端口号,默认22端口

ListenAddress ::

ListenAddress 0.0.0.0

#指定监听的地址,默认监听所有;

Protocol 2,1

#指定支持的SSH协议的版本号。'1'和'2'表示仅仅支持SSH-1和SSH-2协议。"2,1"表示同时支持SSH-1和SSH-2协议。

HostKey /etc/ssh/ssh_host_rsa_key

HostKey /etc/ssh/ssh_host_dsa_key

HostKey /etc/ssh/ssh_host_ecdsa_key

HostKey /etc/ssh/ssh_host_ed25519_key

#HostKey是主机私钥文件的存放位置;

#SSH-1默认是/etc/ssh/ssh_host_key。SSH-2默认是/etc/ssh/ssh_host_rsa_key和/etc/ssh/ssh_host_dsa_key。一台主机可以拥有多个不同的私钥。"rsa1"仅用于SSH-1,"dsa"和"rsa"仅用于SSH-2。

UsePrivilegeSeparation yes

#是否通过创建非特权子进程处理接入请求的方法来进行权限分离。默认值是"yes"。认证成功后,将以该认证用户的身份创另一个子进程。这样做的目的是为了防止通过有缺陷的子进程提升权限,从而使系统更加安全。

KeyRegenerationInterval 3600

#在SSH-1协议下,短命的服务器密钥将以此指令设置的时间为周期(秒),不断重新生成;这个机制可以尽量减小密钥丢失或者黑客攻击造成的损失。设为0表示永不重新生成为3600(秒)。

ServerKeyBits 1024

#指定服务器密钥的位数

SyslogFacility AUTH

#指定将日志消息通过哪个日志子系统(facility)发送。有效值是:DAEMON, USER, AUTH(默认), LOCAL0,LOCAL1, LOCAL2, LOCAL3,LOCAL4, LOCAL5, LOCAL6, LOCAL7,LogLevel INFO指定日志等级(详细程度)。可用值如下:QUIET, FATAL, ERROR, INFO (默认), VERBOSE,DEBUG,DEBUG1, DEBUG2, DEBUG3,DEBUG与DEBUG1等价;DEBUG2和DEBUG3则分别指定了更详细、更罗嗦的日志输出。比DEBUG更详细的日志可能会泄漏用户敏感信息,因此反对使用。

LoginGraceTime 120

#限制用户必须在指定的时限(单位秒)内认证成功,0表示无限制。默认值是

120秒;如果用户不能成功登录,在用户切断连接之前服务器需要等待120秒。

PermitRootLogin yes

#是否允许root登录。可用值如下:"yes"(默认) 表示允许。"no"表示禁止。"without-password"表示禁止使用密码认证登录。"forced-commands-only"表示只有在指定了command选项的情况下才允许使用公钥认证登录,同时其它认证方法全部被禁止。这个值常用于做远程备份之类的事情。

StrictModes yes

#指定是否要求sshd(8)在接受连接请求前对用户主目录和相关的配置文件进行宿主和权限检查。强烈建议使用默认值"yes"来预防可能出现的低级错误。

RSAAuthentication yes

#是否允许使用纯RSA公钥认证。仅用于SSH-1。默认值是"yes"。

PubkeyAuthentication yes

#是否允许公钥认证。仅可以用于SSH-2。默认值为"yes"。

IgnoreRhosts yes

#是否取消使用 ~/.ssh/.rhosts 来做为认证。推荐设为yes。

RhostsRSAAuthentication no

#这个选项是专门给version1用的,使用rhosts档案在/etc/hosts.equiv配合RSA演算方式来进行认证!推荐no。

HostbasedAuthentication no

#这个与上面的项目类似,不过是给version2使用的

IgnoreUserKnownHostsno

#是否在 RhostsRSAAuthentication或HostbasedAuthentication过程中忽略用户的~/.ssh/known_hosts文件。默认值是"no"。为了提高安全性,可以设为"yes"。

PermitEmptyPasswords no

#是否允许密码为空的用户远程登录。默认为"no"。

ChallengeResponseAuthentication no

#是否允许质疑-应答(challenge-response)认证。默认值是"yes",所有login.conf中允许的认证方式都被支持。

PasswordAuthentication yes

#是否允许使用基于密码的认证。默认为"yes"。

KerberosAuthentication no

#是否要求用户为 PasswordAuthentication 提供的密码必须通过KerberosKDC认证,也就是是否使用Kerberos认证。使用Kerberos认证,服务器需要一个可以校验KDCidentity的Kerberos servtab。默认值是"no"。

KerberosGetAFSToken no

#如果使用了AFS并且该用户有一个Kerberos 5 TGT,那么开启该指令后,将会在访问用户的家目录前尝试获取一个AFS token。默认为"no"。KerberosOrLocalPasswd yes

#如果Kerberos密码认证失败,那么该密码还将要通过其它的 认证机制(比如/etc/passwd)。默认值为"yes"。

KerberosTicketCleanup yes

#是否在用户退出登录后自动销毁用户的ticket。默认"yes"。

GSSAPIAuthentication no

#是否允许使用基于GSSAPI的用户认证。默认值为"no"。仅用于SSH-2。

GSSAPICleanupCredentials yes

#是否在用户退出登录后自动销毁用户凭证缓存。默认值是"yes"。仅用于SSH-2。

X11Forwarding no

#是否允许进行X11转发。默认值是"no",设为"yes"表示允许。如果允许X11转发并且sshd代理的显示区被配置为在含有通配符的地址(X11UseLocalhost)上监听。那么将可能有额外的信息被泄漏。由于使用X11转发的可能带来的风险,此指令默认值为"no"。需要注意的是,禁止X11转发并不能禁止用户转发X11通信,因为用户可以安装他们自己的转发器。如果启用了 UseLogin ,那么X11转发将被自动禁止。

X11DisplayOffset 10

#指定X11转发的第一个可用的显示区(display)数字。默认值

是10。这个可以用于防止sshd占用了真实的X11服务器显示区,从而发生混淆。

PrintMotd no

#登入后是否显示出一些信息呢?例如上次登入的时间、地点等等,预设是yes,但是,如果为了安全,可以考虑改为no!

PrintLastLog yes

#指定是否显示最后一位用户的登录时间。默认值是"yes"

TCPKeepAlive yes

#指定系统是否向客户端发送TCP keepalive 消息。默认值是"yes"。这种消息可以检测到死连接、连接不当关闭、客户端崩溃等异常。可以设为"no"关闭这个特性。

UseLogin no

#是否在交互式会话的登录过程中使用 login。默认值是"no"。如果开启此指令,那么X11Forwarding将会被禁止,因为login不知道如何处理xauth cookies。需要注意的是,login是禁止用于远程执行命令的。如果指定了UsePrivilegeSeparation,那么它将在认证完成后被禁用。

MaxStartups 10

#最大允许保持多少个未认证的连接。默认值是10。到达限制后,将不再接受新连接,除非先前的连接认证成功或超出LoginGraceTime的限制。

MaxAuthTries 6

#指定每个连接最大允许的认证次数。默认值是6。如果失败认证的次数超

#过这个数值的一半,连接将被强制断开,且会生成额外的失败日志消息。

UseDNS no

#指定是否应该对远程主机名进行反向解析,以检查此主机名是否与其IP

#地址真实对应。

Banner /etc/issue.net

#将这个指令指定的文件中的内容在用户进行认证前显示给远程用户。这个特性仅能用于SSH-2,默认什么内容也不显示。"none"表示禁用这个特性。

Subsystem sftp /usr/lib/openssh/sftp-server

#配置一个外部子系统(例如,一个文件传输守护进程)。仅用于SSH-2协议。值是一个子系统的名字和对应的命令行(含选项和参数)。

UsePAM yes

#是否使用PAM模块认证

Q: 远程ssh登录不上的更多相关文章

  1. CentOS生产机器禁止ROOT远程SSH登录

    方法一 很多站长拥有linux主机,不管是虚拟机还是实体机,一般我们远程连接的时候,都是用的ssh(SecureShell建立在应用层和传输层基础上的安全协议). 它默认的端口22,默认使用root也 ...

  2. CENTOS如何禁用ROOT本地或远程SSH登录

    下面详细描述如何禁止root登录. 禁止root本地登录 禁止root远程ssh登录 禁止root本地登录 修改/etc/pam.d/login文件增加下面一行   1 auth required p ...

  3. 1.配置桥接,并抓包验证 2.实现免密登录 3.修改登录端口: 22-》2222 4.不允许root用户远程登录 5.创建用户sshuser1,并设置密码,且只允许sshuser1远程ssh登录

    1.配置桥接:  抓包时如果有ens160的ICMP,说明我们的桥接搭建成功通过桥接访问到了ens160(这里忘加图片了) (1)创建一个桥接设备和会话 (2)添加设备和会话到桥接设备上 (3)启动从 ...

  4. CentOS禁用root本地或远程ssh登录

    有些特殊的情况我们需要禁止root在本地或远程使用ssh登录,以增加安全性. 禁止root本地登录 修改/etc/pam.d/login文件增加下面一行auth required pam_succee ...

  5. linux ubuntu 远程ssh登录

    当我们有一个Linux系统的时候,可能用到远程ssh登录,当你是没有界面的系统的时候也会用到,远程操作起来比较方便. 首先我们的电脑默认是不安装ssh的,就是无法通过ssh远程连接,所以要安装shh. ...

  6. linux 创建用户 用户组,sudo,禁止root远程ssh登录

    创建用户  useradd hanli 为新用户设置密码(在root下可以为普通用户重置密码)  passwd hanli 创建用户组  groupadd  op 将用户添加到用户组  usermod ...

  7. 不同路由器下远程ssh登录Beaglebone系统(通过路由器端口转发,配合花生壳的DDNS功能)

    使用场景: 一般家庭设备都是通过路由器中转连上互联网的,而且运营商给家庭宽带分配的IP地址也是动态的.随时可能变动的.所以当程序员们离开家之后,是很难直接和家里的设备进行交互的.但是通过TPLINK路 ...

  8. Linux 限制用户远程SSH登录

    通过/etc/hosts.allow和/etc/hosts.deny两个配置文件远程限制某个IP和某段IP地址允许或拒绝访问Linux服务器 SSH.FTP.telnet等服务,其中/etc/host ...

  9. CRT工具远程登陆Google Cloud远程ssh登录方法

    首先使用Google Cloud SSH连接上去:1.切换到 rootsudo -i12.编辑ssh配置文件vi /etc/ssh/sshd_config13.修改以下内容即可PermitRootLo ...

  10. python ssh登录linux 上传和下载文件

    #!usr/bin/python# coding: utf-8 import paramikoimport jsonremotedir='/tmp/log'remotefile = 'bst_mana ...

随机推荐

  1. mysql与mongodb、redis的性能对比,包含源代码

    最近因为工作需要,所以研究了一下mongodb,但是不知道它的真实性能怎么样,所以对比mysql做了一些测试,现在只是插入操作,更新还没来得及弄,贴出来和大家分享一下(已经补齐redis部分) 1.数 ...

  2. .NET9 - Swagger平替Scalar详解(四)

    书接上回,上一章介绍了Swagger代替品Scalar,在使用中遇到不少问题,今天单独分享一下之前Swagger中常用的功能如何在Scalar中使用. 下面我们将围绕文档版本说明.接口分类.接口描述. ...

  3. Mac下常用软件汇总(精)

    1.连接Windows远程连接工具(Microsoft-Remote-Desktop-For-Mac ) 2.SSH管理工具:Royal TSX 下载地址:Royal Apps Royal TSX 是 ...

  4. Lombok 代码优化器

    Lombok是一种Java实用工具,可用来帮助开发人员消除Java的冗长代码,尤其是对于简单的Java对象(POJO).它通过注释实现这一目的 使用安装Lombok pom文件导入lombok Mav ...

  5. ZCMU-1101

    这个题不怎么难,就是当时没有理解到字典序的意思:我一直以为是自己元素间的比较,后再同学帮助下明白这里是与其他比,这样就很简单了.就是要求当前那个最小就可以了. 对这道题我有点吐槽明明自己都说了最后一组 ...

  6. Node.js 文件读写

    1.fs模块 在node.js中,所有文件的操作都是通过fs模块来实现的.包括文件目录的创建,删除,查询以及文件的读取,写入. 在fs模块中,所有的方法都分成同步和异步两种实现,具有sync后缀的为同 ...

  7. 拦截烂SQL,解读GaussDB(DWS)查询过滤器过滤规则原理

    本文分享自华为云社区<GaussDB(DWS)查询过滤器过滤规则原理与使用介绍>,作者: 清道夫. 1. 前言 适用版本:[9.1.0.100(及以上)] 查询过滤器在9.1.0.100之 ...

  8. PHP 简易的BASE64加密

    有这样一个有趣的公式:x<100;  (x*53*17)%100 = x;这个公司的原理:53*17=901,x*901,的数后2位数还是x:任何符合 a * b = 100 * n +1 的值 ...

  9. 【Go进阶】手写 Go websocket 库(一)|WebSocket 通信协议

    前言 这里是白泽,我将利用一个系列,为你分享如何基于 websocket 协议的 rfc 文档,编写一个库的过程.并从0开始写一遍 gorilla/websocket 这个库,从中你可以学习到 web ...

  10. HttpClientManager

    HttpClientManger package com.gateway.http.client; import com.fasterxml.jackson.core.type.TypeReferen ...