SSH 报错解决方法记录汇总
SSH 密钥签名失败
情景: 使用 SSH 密钥验证身份时
报错:
sign_and_send_pubkey: signing failed: agent refused operation
环境: Debian 9.7 (Stretch)
解决方法:
1)确认问题
在 SSH 命令前添加“SSH_AUTH_SOCK=0”:
SSH_AUTH_SOCK=0 ssh <username>@<server>
如果可以正常登录,而显示变量 SSH_AUTH_SOCK
内容时输出:
echo $SSH_AUTH_SOCK
/run/user/1000/keyring/ssh
则我们就可以确定是由 Gnome Keyring
带的 SSH Agent
导致的密钥签名失败问题。Gnome Keyring SSH Agent
并不能总是正确处理所有格式的 SSH 密钥。但是它却试图处理所有的 SSH 密钥,从而出错。(典型的没有金刚钻,还要揽这瓷器活儿)
如果还是没法正常登录,说明是 ssh-agent
不存在或者存在但没有找到密钥。可以参考这里,几条命令就可以解决。
2)解决问题
之前提到,如果 ssh
命令前面添加 SSH_AUTH_SOCK=0
后可以正常登录,说明是 Gnome Keyring SSH Agent
在试图处理它可能并不能处理的 SSH 密钥编码方式。那么解决方法就可以有两种:禁用 Gnome Keyring SSH Agent
自启动,或用 ssh-keygen
重新生成、上传 Gnome Keyring SSH Agent
能够处理的编码方式所生成的公私钥对。
其中,第二种方法在这篇博文中提到过。这种方法的优点是不用更改本地系统设置,缺点是需要更新所有服务器的公钥,对于那些将公钥上传到多个服务(比如 GitHub,GitLab,DigitalOcean 等)的人来说需要做很多重复性操作,比较麻烦;
第一种方法会更改系统设置,但也只是最低限度的更改(仅禁用 Gnome Keyring
下的 SSH Agent
开机自启动),几乎不影响系统功能。因此,Gnome Keyring SSH Agent
完全可以由 OpenSSH
的 ssh-agent
替代。
具体方法如下:
- 打开搜索栏,搜索
Startup Applications
应用并运行(如果没有安装会提示安装); - 在弹出的窗口中找到
SSH Key Agent GNOME Keyring: SSH Agent
,关闭自启; - 重启系统。
Written with StackEdit.
SSH 报错解决方法记录汇总的更多相关文章
- Play! 1.x Eclipse Debug调试报错解决方法记录
使用Play eclipsify xxxx[项目路径],可以把play new xxxx[项目路径]创建的工程生成为Eclipse的项目 但是在Debug AS 调试的时候,会报以下错误 Error ...
- eclipse创建的maven项目,pom.xml文件报错解决方法
[错误一:]maven 编译级别过低 [解决办法:] 使用 maven-compiler-plugin 将 maven 编译级别改为 jdk1.6 以上: <!-- java编译插件 --> ...
- MyEclipse Server view报错解决方法
MyEclipse Server view报错解决方法 方法/步骤 启动MyEclipse,弹出一个框,报错. ---------------------------------------- ...
- Loadrunner参数化逗号报错解决方法
Loadrunner参数化逗号报错解决方法 介绍Loadrunner参数化时,参数中包含有逗号时出错的解决方法. 在Loadrunner进行参数化时,参数中如果含有逗号,编辑保存后会报错: 此 ...
- Android Studio support 26.0.0-alpha1 Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法
AS下如何生成自定义的.jks签名文件, 以及如何生成数字签名 链接:http://www.cnblogs.com/smyhvae/p/4456420.html 链接:http://blog.csdn ...
- iOS url带中文下载时 报错解决方法
问题描述:下载文件时, 请求带中文的URL的资源时,比如:http://s237.sznews.com/pic/2010/11/23/e4fa5794926548ac953a8a525a23b6f2/ ...
- jquery jssdk分享报错解决方法
jssdk分享报错解决方法 一般都是参数传错了
- django.db.utils.InternalError: (1060, "Duplicate column name 'user_id'")迁移报错解决方法
django.db.utils.InternalError: (1060, "Duplicate column name 'user_id'")迁移报错解决方法 django.db ...
- create-react-app创建项目后,运行npm run eject报错解决方法
运行npm run eject报错解决方法 主要问题是脚手架添加.gitgnore文件,但是却没有本地仓库,使用以下命令操作以下就可以了 git init git add . git commit - ...
随机推荐
- [SDOI2010]Hide and Seek
题目 非常显然就是求一下距离每一个点曼哈顿距离最近的点和最远的点就好了 最远点非常好算,我们建完\(kd-tree\)之后直接暴力就好了 找最近点的时候会有这样一个问题,就是自己找到了自己 所以我们需 ...
- 【洛谷】【线段树】P1047 校门外的树
[题目描述:] 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,……,L ...
- shell基础--shell特殊变量
一.变量列表 二.实验 系统:centos 7 1.特殊变量 [root@~_~ day2]# cat p.sh #!/bin/bashecho '$0:'$0echo '$*:'$*echo '$@ ...
- [USACO09OPEN]Ski Lessons
嘟嘟嘟 先考虑这两点: 1.如果我们有结束时间相同的课程,且达到的能力相同,那么我们一定选择开始时间最晚的. 2.如果有能力值相同的滑雪坡,我们一定选择时间最短的. 因此先预处理两个数组.cla[i] ...
- TensorFlow函数(十)tf.global_variables_initializer()
tf.global_variables_initializer() 此函数是初始化模型的参数 with tf.Session() as sess: tf.global_variables_initia ...
- 矩阵求逆·学习笔记 $\times$ [$LuoguP4783$]矩阵求逆
哦?今天在\(luogu\)上fa♂现了矩阵求逆的板子--于是就切了切. 那么我们考虑一个矩阵\(A\),它的逆矩阵记作\(A^{-1}\),其中对于矩阵这个群来讲,会有\(A \cdot A^{-1 ...
- P2467 [SDOI2010]地精部落
题目描述 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为N的山脉H可分为从左到右的N段,每段有一个独一无二的高度Hi,其中Hi是1到N之间的正整数 ...
- Quartz.NET+Topshelf 创建Windows服务
由于项目开发中经常会有定时任务执行的需求,所以会第一时间就想到 windows 服务 的方式,但是做过开发的同学都知道windows服务不利于调试,安装也麻烦: 并且有开源的作业框架Quartz.NE ...
- 实战三种方式部署 MySQL5.7
作者:北京运维 常见的 MySQL 安装方式有如下三种: RPM 包方式:这种方式安装适合对数据库要求不太高的场合,安装速度快: 通用二进制包方式:安装速度相较于源码方式快,可以自定义安装目录. 源码 ...
- linux查看磁盘占用情况
一:首先是先登录 二:查看当前目录 命令:df -h 三:查看具体文件夹占用情况 命令:du --max-depth=1 -h /data/ 或者:为了快算显示,同时也只是想查看目录整体占用大小 命 ...