[CentOS7][ssh][publickey][troubleshoot] 通过密钥登录ssh故障排查

通常情况下,我会使用非对称加密的方式来进行ssh的登录。

做法:

  将公钥添加到 $HOME/.ssh/authorized_keys 文件中。

但是通常,会遇见各种各样的问题,导致失败。汇总如下:

0. 常用的排除手段,一般就是,双端开debug,clinet开启的方式如下,server还从来没与与遇见过需要开的情况,一般开client端就都搞定了。

/home/tong [[email protected]] [10:05]
> ssh -vvvvv [email protected]
OpenSSH_7.5p1, OpenSSL 1.1.0e  16 Feb 2017
debug1: Reading configuration data /home/tong/.ssh/config
debug1: /home/tong/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config

1. 使用的私钥加密算法已经被openssh弃用,如 之前的 ssh-dss 就已经被新版openssh启用了,如果启用,可以如下配置:

/home/tong [[email protected]] [10:14]
> cat ~/.ssh/config
HOST *
        HostKeyAlgorithms +ssh-dss
        ForwardX11 yes

  还可以通过命令和man手册,查看都支持那些算法。详细操作略。

2.  万恶的selinux搞得鬼, 禁掉禁掉,stopstop。

  具体操作略。

  然鹅,使用selinux一定有其好处以及必要性,所以还是需要花些时间,学习一下。

  无意中看到的一个参考:

    The SELinux contexts need to be right as well if you didn‘t disable that. The command "restorecon -R .ssh" should fix that.

3.  authorized_keys 文件的权限不对,改成644, 记不太清了,记忆的深处好像是有这么回事的。。。

4.  同样的key,root用户好用,tong用户便不好用。debug之后,发现server返回的是:

debug3: receive packet: type 51

  google之

  https://superuser.com/questions/1137438/ssh-key-authentication-fails

  当前的权限是:

[[email protected] ~]# ll -a  /home/tong/  |grep ‘\.ssh‘
drwxrwxr-x. 2 tong tong   29 May 26 09:58 .ssh
[[email protected] ~]# ll -a  /root/  |grep ‘\.ssh‘
drwxr-xr-x   2 root root   29 May 26 10:04 .ssh
[[email protected] ~]# 

  改过权限之后,好用了:

[[email protected] ~]$ ll -a |grep ‘\.ssh‘
drwxr-xr-x. 2 tong tong   29 May 26 09:58 .ssh
[[email protected] ~]$ ll .ssh/
total 4
-rw-r--r-- 1 tong tong 389 May 26 09:58 authorized_keys
[[email protected] ~]$ 
时间: 2024-08-25 23:29:28

[CentOS7][ssh][publickey][troubleshoot] 通过密钥登录ssh故障排查的相关文章

Linux使用密钥登录SSH

Operating system: CentOS 6.5 64bitSSH clients : Putty/Puttygen 1)安装SSH服务 #yum install -y openssh-server    //安装ssh服务 #/etc/init.d/sshd start    //启动ssh服务 #netstat -anpt | grep sshd    //查看是否成功启动 2)在服务器上生成密钥 #ssh-keygen -b 1024 -t rsa 在Linux上使用ssh-key

Linux操作系统设置SSH及SFTP通过密钥登录

如果你使用过Linux操作系统的VPS或其他服务器,可能在登录时经常会提示你有多少次登录失败的记录. 这种登录失败的记录实际上也就是攻击者使用脚本自动扫描全网的IP然后进行筛选和测试,最终脚本会使用内置的密码组尝试登录开放22端口的Linux服务器. 当然如果登录成功那么意味着你的服务器就是被黑了,除了搜寻服务器中有价值的内容外就是充当肉鸡了. 为此我们可以关闭掉22端口使用密钥来进行登录,这样子可以瞬间把服务器的安全性提高好几个档次呢. 以下是基本的操作流程: 1.登录Linux服务器来生成公

一次网站登录慢故障排查

昨天上午到公司,研发发邮件通知说有用户反映登录我们A站速度很慢,登录进去之后的操作都是正常的,所以基本可以排除网络与服务器压力大的因素. 那么接下来就是看看数据库与缓存是否成为瓶颈,结果没有什么发现,毕竟A站是已经边缘化的产品,平日都没人去维护. 登录缓慢无非就是几个原因:数据库瓶颈.缓存问题.程序代码问题.并发量大应用服务器负载过高,调用第三方接口. 其他几个原因可以直接排出,那么就只剩下程序代码问题与调用第三方接口这俩可疑了,为了排除前者的嫌疑,我把在测试服务器上另外部署了一套环境,把代码回

CentOS6.5 下SSH密钥登录详解

一.密钥登录的必要性 一般地,密钥登录SSH比账户密码登录要安全,有时候公司需要给新来的同事配置服务器登录,一般都是直接配置密钥登录. 二.SSH密钥登录步骤 1.密钥的生成 一般有很多办法生成密钥.我们在此,使用正服务器上使用SSH-genkey来生成密钥,用客户端的puttygen来转换的办法. 如下图: 其中-t是表示加密方式.然后修改公钥名称为authorized_keys. 另外,要确保.ssh目录的权限为600,如不是,则使用chmod 600 .ssh 来设置.主要是为了防止他人在

增强VPS SSH账号安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击

VPS SSH账号是我们日常管理VPS的主要登入方式,尤其是Root账号,对Linux系统安全至关重要.以前好多站长喜欢用Putty中文版,这实际是别人修改官方Putty汉化而来,这些软件被植入了后门,导致好几个有名的站点信息泄露,损失惨重. 如何知道自己的VPS账号正在遭受坏人的扫描和暴力破解呢?简单的方法就是查看日志:cat /var/log/auth.log.如何来增强VPS SSH账号的安全性呢?除了养成使用正规软件的好习惯外,还要从VPS本身来加强VPS SSH账号的安全性. 默认的S

使用ssh公钥实现免密码登录

使用ssh公钥实现免密码登录 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(10.207.160.34),B(10.221.32.234).现想A通过ssh免密码登录到B.首先以root账户登陆为例. 1.在A机下生成公钥/私钥对. ssh-keygen -t rsa -P '' -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车. 该命令将在~/.ssh目录下面产生

ssh密钥登录-不用输入密码

做一个关于ssh登录类的总结吧,使用密钥无密码登录的. 实验环境:两台CentOS release 6.6 (Final),IP地址分别为192.168.2.3和192.168.2.6 一.在windows上通过xshell等远程连接的终端工具时: 实现步骤是: 1.使用xshell中的工具菜单下的"新建用户密钥生成向导"生成密钥,如图 然后选择相应的密钥类型和长度,建议使用RSA,长度选择2048位或更多位的. 接着点击"下一步","下一步",

ssh密钥登录

简介:有时候我们出于安全的考虑需要禁止用户名密码登录,只允许密钥登录,这样别人尝试攻击你的服务器的用户名和密码了 环境:centos6.5 服务器步骤: 1.生成公钥和私钥: $ ssh-keygen -t rsa,copy默认的地址存放密钥,这将在您的(隐藏)?/ .ssh目录中创建两个文件,名为:id_rsa和id_rsa.pub第一个:id_rsa是您的私钥,而另一个:id_rsa.pub是您的公钥.这个地方要注意下安装过程中会提示你输入密码,如果对于安全性不是很高很高可以跳过,一旦你设置

部署SSH免密钥登录

SSH免密钥登录很简单,只需三四步就能部署完成. 测试环境:CentOS 6.6 步骤如下: 1.  在主机A上生成公钥和密钥! [[email protected] ~]#  ssh-keygen -t rsa       #一直回车即可! 2.  上一步执行完成后,会在你当前登录的用户的宿主目录下生成一个.ssh的目录,在.ssh目录下会生成两个文件(id_rsa和id_rsa.pub)私钥和公钥 3.  将公钥(id_rsa.pub)移动到要免密码登录的服务器的用户家目录下的.ssh目录下