我的实验室安装了 ubuntu 14.04 工作站。现在我遇到了 rsa 密钥密码问题。
以下是我的实验室里的东西
- SVN服务器(12.04): 我已经安装了 svn 服务器,任何想要访问 svn 的人都必须在
authorized_keys
svn 服务器的文件中拥有他们的密钥。 - 家庭服务器(12.04): 它安装
/home
在客户端上 - Ubuntu 桌面 12.04: 有超过 5 个客户端连接到我的 ubuntu 实验室(使用多年)
- Ubuntu 桌面 14.04: 我刚刚安装了 14.04 版本进行测试
这是我的问题,
- 从Ubuntu 桌面 12.04它不要求输入密码,但是Ubuntu 14.04是的。每次我使用 SVN 命令时,它都会要求输入密码。
- 我尝试重新创建 rsa 密钥,但没有作用。
- 我测试了没有密码的密钥,它没有要求我输入密码。这不是我想要的,因为它不安全。
有任何想法吗?
答案1
您可能会受到这个错误。
如果是这种情况,则说明您错误地将 ssh-agent 设置为活动状态。您可以使用命令检查这一点
$ echo $SSH_AUTH_SOCK
如果代理值以 开头/tmp/ssh
,则命令ssh-agent
行将充当您的代理。
作为一种解决方法,您可以使用旧式 shell 命令
$ ssh-add
将密钥添加到密钥环。但是,这并非适用于所有图形程序。
答案2
我可以通过在“~/.bashrc”中添加以下几行来解决这个问题
eval `gnome-keyring-daemon --start` 用户名=“雷诺” 导出 SSH_AUTH_SOCK="$(ls /run/user/$(id -u $USERNAME)/keyring*/ssh|head -1)" 导出 SSH_AGENT_PID="$(pgrep gnome-keyring)"
答案3
我终于找到了解决这个恼人的问题的方法(Ubuntu server 14.04)。Atlassian 支持- 步骤#4。看起来 ssh-agent 默认正在运行。
打开终端窗口并输入以下命令来查看代理是否正在运行:
ps -e | grep [s]sh-agent
如果代理未运行,请使用以下命令手动启动它:
ssh-agent /bin/bash
使用 ssh-add 命令将您的新身份加载到 ssh-agent 管理程序中。
$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /Users/manthony/.ssh/id_rsa:
Identity added: /Users/manthony/.ssh/id_rsa (/Users/manthony/.ssh/id_rsa)
用于ssh-add
列出代理正在管理的密钥。
$ ssh-add -l