ubuntu 12.10中的ssh和代理转发
我有一台机器X,我登录到X并发出一个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中禁用代理转发,但没有成功 我如何解决这个问题?如果禁用代理转发是关键,我该怎么做?是否需要更改目标计算机中的任何内
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)。