ubuntu 12.10中的ssh和代理转发

ubuntu 12.10中的ssh和代理转发,ubuntu,ssh,ssh-agent,secure-crt,Ubuntu,Ssh,Ssh Agent,Secure Crt,我有一台机器X,我登录到X并发出一个ssh某处命令,该命令使用密钥身份验证,并且工作正常 当我从一台12.10机器(它没有我的专用机器X密钥)ssh到机器X并尝试上面的相同命令时,它失败,权限被拒绝(publickey)。消息。我在谷歌上搜索了一下,看起来这与ssh代理转发有关,但我不确定 我在尝试从最新的secureCRT进行ssh时也遇到了同样的问题。我尝试在secureCRT中禁用代理转发,但没有成功 我如何解决这个问题?如果禁用代理转发是关键,我该怎么做?是否需要更改目标计算机中的任何内

我有一台机器X,我登录到X并发出一个
ssh某处
命令,该命令使用密钥身份验证,并且工作正常

当我从一台12.10机器(它没有我的专用机器X密钥)ssh到机器X并尝试上面的相同命令时,它失败,权限被拒绝(publickey)。消息。我在谷歌上搜索了一下,看起来这与ssh代理转发有关,但我不确定

我在尝试从最新的secureCRT进行ssh时也遇到了同样的问题。我尝试在secureCRT中禁用代理转发,但没有成功


我如何解决这个问题?如果禁用代理转发是关键,我该怎么做?是否需要更改目标计算机中的任何内容?

该错误意味着计算机X只接受公钥身份验证,而您在12.10计算机上似乎没有私钥

请注意,机器钥匙和您的钥匙之间存在差异

在12.10(和大多数机器上类似)上,机器密钥是在安装openssh服务器包时创建的,并将保存在名为
/etc/ssh/ssh\u host\u*\u key[.pub]

您的密钥保存在运行ssh keygen的计算机上,通常在
~/.ssh/id\u rsa
~/.ssh/id\u rsa.pub
中找到

在您将ssh从12.10复制到X的情况下,您需要将
~/.ssh/id\u rsa
从X安全地复制到12.10。请注意,这是您的私钥,您不想让任何人看到它

接下来,您需要确保X上名为
~/.ssh/id\u rsa.pub
的文件中有一个
~/.ssh/authorized\u keys
cat~/.ssh/id\u rsa.pub>~/.ssh/authorized\u keys
应该完成这项工作)


您还需要确保正确的权限:
~/.ssh/
目录应仅由您设置为
rwx
,并且
~/.ssh/
中的文件最好仅由您设置为
rw

需要将param ForwardAgent=yes更改为/etc/ssh/ssh\u config

如果我不想在X上与任何其他机器共享我的私钥怎么办?如果我有ssh访问X的权限,我就不能在X上使用我的密钥吗?以前的情况是这样的。Samer,你是对的:你不想在机器之间复制私钥,这不是私钥的用途。要测试问题是否与代理相关,可以强制打开(-A)或关闭(-A)代理转发连接到X时,您还可以在12.10的~/.ssh/config中启用/禁用主机X的转发(使用ForwardAgent yes/no)。