[CentOS7][ssh][publickey][troubleshoot] 通过密钥登录ssh故障排查
通常情况下,我会使用非对称加密的方式来进行ssh的登录。
做法:
将公钥添加到 $HOME/.ssh/authorized_keys 文件中。
但是通常,会遇见各种各样的问题,导致失败。汇总如下:
0. 常用的排除手段,一般就是,双端开debug,clinet开启的方式如下,server还从来没与与遇见过需要开的情况,一般开client端就都搞定了。
/home/tong [tong@T7] [:]
> ssh -vvvvv root@t54
OpenSSH_7.5p1, OpenSSL 1.1.0e Feb
debug1: Reading configuration data /home/tong/.ssh/config
debug1: /home/tong/.ssh/config line : Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
1. 使用的私钥加密算法已经被openssh弃用,如 之前的 ssh-dss 就已经被新版openssh启用了,如果启用,可以如下配置:
/home/tong [tong@T7] [:]
> 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
google之
https://superuser.com/questions/1137438/ssh-key-authentication-fails
当前的权限是:
[root@T54 ~]# ll -a /home/tong/ |grep '\.ssh'
drwxrwxr-x. tong tong May : .ssh
[root@T54 ~]# ll -a /root/ |grep '\.ssh'
drwxr-xr-x root root May : .ssh
[root@T54 ~]#
改过权限之后,好用了:
[tong@T54 ~]$ ll -a |grep '\.ssh'
drwxr-xr-x. tong tong May : .ssh
[tong@T54 ~]$ ll .ssh/
total
-rw-r--r-- tong tong May : authorized_keys
[tong@T54 ~]$
------------------------------- update @ 2017-10-24 ----------------------------
排除以上情況依然会有key不好使的时候. 这次有被我遇到.
以往, 一直在ssh的时候使用-vvvv 来排除故障, 然而这种方法其实是愚蠢的. 因为, 这会给黑客们可称之机.
查看server的 /var/log/secure 日志文件, 将发现更多的错误信息, 如下:
> sudo tail -f /var/log/secure
Sep :: new-server sshd[]: Authentication refused: bad ownership or modes for directory /home/dave/.ssh
我这次遇到错误是:
Authentication refused: bad ownership or modes for directory /root
因为root目录的owner被改成了game组.....
[CentOS7][ssh][publickey][troubleshoot] 通过密钥登录ssh故障排查的更多相关文章
- Linux操作系统设置SSH及SFTP通过密钥登录
如果你使用过Linux操作系统的VPS或其他服务器,可能在登录时经常会提示你有多少次登录失败的记录. 这种登录失败的记录实际上也就是攻击者使用脚本自动扫描全网的IP然后进行筛选和测试,最终脚本会使用内 ...
- Linux使用密钥登录SSH
输入命令和上传密钥时需要注意当前目录.账号和读写权限 生成密钥 使用服务器生成(方法一,推荐) 1.1生成密钥 #ssh-keygen(这里pwd为当前账号的home目录) 1.2下载密钥 .id_r ...
- Linux限制某些用户或IP登录SSH、允许特定IP登录SSH
说明:一般要实现这种功能时,先安装VPN,然后客户端登录VPN,然后通过内网IP登录SSH. 搭建OpenVPN: 参考:http://www.cnblogs.com/EasonJim/p/83338 ...
- 增强VPS SSH账号安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击
VPS SSH账号是我们日常管理VPS的主要登入方式,尤其是Root账号,对Linux系统安全至关重要.以前好多站长喜欢用Putty中文版,这实际是别人修改官方Putty汉化而来,这些软件被植入了后门 ...
- 使用ssh公钥实现免密码登录
使用ssh公钥实现免密码登录 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(10.207.160.34),B(10 ...
- Centos7.5使用SSH密钥登录
12.1.查看操作系统版本 # cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 12.2.在服务器端创建密钥 # ssh-ke ...
- fail2ban软件 +ssh密钥登录
fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽),如:当有人在试探你的SSH.SMTP.FTP密码,只要达到你预设的次数,fa ...
- linux ssh publickey登录
一.公钥认证的基本思想: 对信息的加密和解密采用不同的key,这对key分别称作private key和public key,其中,public key存放在目标服务器上,而private key为特 ...
- 多台计算机之间的ssh无密钥登录
在很多分布式系统中,我们最常遇到的一个问题是,需要在服务器集群上保证多台机器之间的SSH无密钥登录.以Hadoop为例,为了方便,我们需要在master和slaves之间配置密钥登录,这样我们启动Ha ...
随机推荐
- GSSAPIAuthentication=no
GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5的通用网络安全系统接口.该接口 ...
- js正则表达式验证身份证号和密码
//验证身份证号只能输入15位或者18位的身份证号 /^\d{14}[X|\d]{1}$|^\d{18}$/ig //验证只能输入字母和数字组合6到16位 /^[a-z][a-z0-9]{6,16}$ ...
- 【九天教您南方cass 9.1】 11 方格网土方计算
同学们大家好,欢迎收看由老王测量上班记出品的cass9.1视频课程 我是本节课主讲老师九天. 我们讲课的教程附件也是共享的,请注意索取测量空间中. [点击索取cass教程]5元立得 (给客服说暗号:“ ...
- cbow与skip-gram
场景:上次回答word2vec相关的问题,回答的是先验概率和后验概率,没有回答到关键点. 词袋模型(Bag of Words, BOW)与词向量(Word Embedding)模型 词袋模型就是将句子 ...
- ECSHOP后台编辑器不能上传中文名图片的解决办法
在后台上传商品图片的时候,如果你选择一个中文名称的图片,那么上传后会产生乱码,导致图片显示不出来. 下面说一种解决办法: 使用“年月日时分秒 + 6个随机字符”做为文件名,如 201010161356 ...
- git排除常用配置,svn与git共存时.gitignore配置
#idea与myeclipse配置文件全部排除 *.class #package file*.war*.ear #kdiff3 ignore*.orig #maven ignoretarget/ #e ...
- git解决 remote: Permission to wuheng1991/site-manager.git denied to XXX
1.问题 2.解决 生成一个新的SSH KEY ssh-keygen -t rsa –C “youremail@example.com” 命令: 3.修改 .git/config中的url 4.gi ...
- Ubuntu 14.04 安装 Blender,并放桌面
1.打开Blender官网 2.在主页点击down按钮,跳转到下载页面 3.根据自己的操作系统,选择合适的版本,这里使用的是ubunut 64位,所以下载Linux 64bit,保存文件,一般保存到h ...
- linux下Ftp服务安装
安装vsftp 使用yum命令安装vsftp #yum install vsftpd -y 如果yum安装不成功,可以到 http://pkgs.org/centos-6/centos-x86_64/ ...
- [React] 06 - Route: koa makes your life easier
听说koa比express更傻瓜化,真的? Koa 框架教程 本身代码只有1000多行,所有功能都通过插件实现,很符合 Unix 哲学. 搭建简单服务器 Koa, 架设一个简单的服务器 // demo ...