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 - ...
随机推荐
- Java基础加强之反射
1.什么是反射? 反射其实就是动态的加载类,我们在写JDBC的时候加载驱动Class.forName("xxx")时就涉及到了反射. 反射机制是在运行状态中,对于任意一个类,都能够 ...
- Spring整合MyBatis(二)Spring整合MyBatis
摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 了解了MyBatis的独立使用过程后,我们再看看它与Spring整合的 ...
- Sublime Text常用设置之个人配置
一.安装 1.安装包下载: http://www.sublimetext.com/3 (傻瓜式安装) 2.Package Control安装: 1)Ctrl+~或者View——Show Consol ...
- SSL证书更换(具体路径可参考iRedMail.tips文件)及邮件服务器架构
由于Google的chrome不认可赛门铁克的证书,因此要更换新证书 0.8.6版本 0.9.4版本 - /etc/pk ...
- C#中 DateTime , DateTime2 ,DateTimeOffset 之间的小区别 (转载)
闲来无事列了个表比对一下这3兄弟之间还是有一点差距的╮(╯_╰)╭ DateTime DateTime2 DateTimeOffset 日期范围 1753-01-01到 9999-12-31 00 ...
- 【敏捷实用工具】JIRA介绍以及使用方法
敏捷开发并不是由敏捷工具来推动的.但是没有敏捷工具的支持,就很难进行各种软件工程的相关事件,工具的作用是约束和流程,正确使用敏捷工具可以事半功倍,实践敏捷.近几年来敏捷开发催生大量敏捷工具的产生,在敏 ...
- MySQL 卸载
第一步:先查看 mysql 服务是否停止 没有停止就停止 第二步:用 管理员身份 运行 命令提示符 查看mysql 服务是否停止 : net stop mysql 卸载 : mysqld remo ...
- PHP各环境下的伪静态配置
一.Apache的伪静态配置 1.网站根目录下需要有 .htaccess 文件,没有则自己创建一个,内容为 <IfModule mod_rewrite.c> RewriteEngine o ...
- WP10的一点小问题
兼容WP8.0/WP7.5不太完整!也许是测试版的问题.毕竟还没发布正式版! 具体如:WP8.0或WP7.5的启动器!就是选择图片的启动器!调用后对话框返回的结果都是Cancel本来应该是OK的.也就 ...
- spring boot 资料
http://412887952-qq-com.iteye.com/blog/2344171 http://study.163.com/course/courseMain.htm?courseId=1 ...