Q: 远程ssh登录不上
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登录不上的更多相关文章
- CentOS生产机器禁止ROOT远程SSH登录
方法一 很多站长拥有linux主机,不管是虚拟机还是实体机,一般我们远程连接的时候,都是用的ssh(SecureShell建立在应用层和传输层基础上的安全协议). 它默认的端口22,默认使用root也 ...
- CENTOS如何禁用ROOT本地或远程SSH登录
下面详细描述如何禁止root登录. 禁止root本地登录 禁止root远程ssh登录 禁止root本地登录 修改/etc/pam.d/login文件增加下面一行 1 auth required p ...
- 1.配置桥接,并抓包验证 2.实现免密登录 3.修改登录端口: 22-》2222 4.不允许root用户远程登录 5.创建用户sshuser1,并设置密码,且只允许sshuser1远程ssh登录
1.配置桥接: 抓包时如果有ens160的ICMP,说明我们的桥接搭建成功通过桥接访问到了ens160(这里忘加图片了) (1)创建一个桥接设备和会话 (2)添加设备和会话到桥接设备上 (3)启动从 ...
- CentOS禁用root本地或远程ssh登录
有些特殊的情况我们需要禁止root在本地或远程使用ssh登录,以增加安全性. 禁止root本地登录 修改/etc/pam.d/login文件增加下面一行auth required pam_succee ...
- linux ubuntu 远程ssh登录
当我们有一个Linux系统的时候,可能用到远程ssh登录,当你是没有界面的系统的时候也会用到,远程操作起来比较方便. 首先我们的电脑默认是不安装ssh的,就是无法通过ssh远程连接,所以要安装shh. ...
- linux 创建用户 用户组,sudo,禁止root远程ssh登录
创建用户 useradd hanli 为新用户设置密码(在root下可以为普通用户重置密码) passwd hanli 创建用户组 groupadd op 将用户添加到用户组 usermod ...
- 不同路由器下远程ssh登录Beaglebone系统(通过路由器端口转发,配合花生壳的DDNS功能)
使用场景: 一般家庭设备都是通过路由器中转连上互联网的,而且运营商给家庭宽带分配的IP地址也是动态的.随时可能变动的.所以当程序员们离开家之后,是很难直接和家里的设备进行交互的.但是通过TPLINK路 ...
- Linux 限制用户远程SSH登录
通过/etc/hosts.allow和/etc/hosts.deny两个配置文件远程限制某个IP和某段IP地址允许或拒绝访问Linux服务器 SSH.FTP.telnet等服务,其中/etc/host ...
- CRT工具远程登陆Google Cloud远程ssh登录方法
首先使用Google Cloud SSH连接上去:1.切换到 rootsudo -i12.编辑ssh配置文件vi /etc/ssh/sshd_config13.修改以下内容即可PermitRootLo ...
- python ssh登录linux 上传和下载文件
#!usr/bin/python# coding: utf-8 import paramikoimport jsonremotedir='/tmp/log'remotefile = 'bst_mana ...
随机推荐
- 桌面应用开发之Electron
Electron 官网: https://www.electronjs.org/ Electron是一个使用JavaScript.HTML和CSS构建跨平台的桌面应用程序.它基于Node.js和Chr ...
- webpack之基本使用
webpack是一个模块打包器(module bundler),webpack视HTML,JS,CSS,图片等文件都是一种 资源 ,每个资源文件都是一个模块(module)文件,webpack就是根据 ...
- 使用redis 的订阅服务
1.业务使用场景 我们在使用表单动态添加字段,如果新增字段,再保存数据,这个时候就会出错,出错的原因是seata 再本地缓存元数据,修改物理表的时候,这个元数据并没有发生变化,因此需要刷新元数据,因为 ...
- PLC编程—基本知识
1. OB.FB.FC功能 OB(组织块):用于执行特定的任务(CPU启动.循环扫描.时间中断.硬件中断等),每个OB块均有一个特定的功能和优先级(特定事件发生时被触发). FB(功能块):具有内部存 ...
- 教你自创工作流,赋予AI助理个性化推荐超能力
之前,我们已经完成了工作流的基本流程和整体框架设计,接下来的任务就是进入实际操作和实现阶段.如果有同学对工作流的整体结构还不够熟悉,可以先参考一下这篇文章,帮助你更好地理解和掌握工作流的各个部分: 本 ...
- 鸿蒙NEXT开发案例:经纬度距离计算
[引言] 在鸿蒙NEXT平台上,我们可以轻松地开发出一个经纬度距离计算器,帮助用户快速计算两点之间的距离.本文将详细介绍如何在鸿蒙NEXT中实现这一功能,通过简单的用户界面和高效的计算逻辑,为用户提供 ...
- 使用TOPIAM 轻松搞定「JumpServer」单点登录
本文将介绍 TOPIAM 与 JumpServer 集成步骤详细指南. 应用简介 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统.JumpServer 帮助企业 ...
- Electron 窗体 BrowserWindow
http://jsrun.net/t/KfkKp https://www.wenjiangs.com/doc/tlsizw1dst https://www.w3cschool.cn/electronm ...
- ASCII 与 Unicode 中的引号
原文地址:https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html 摘要 请不要使用 ASCII 中的重音符号 ` (0x60) 作为左边与 ASCII 中的撇号 ...
- 中电金信技术实践|Redis哨兵原理及安装部署分享
导语:本文主要围绕redis Sentinel的基本概念.部署Redis Sentinel模式和其相关的API等内容进行介绍,并讲述哨兵与主从关系的区别,以及哨兵机制是怎么实现高可用的,希望可以与 ...