我一直在想为什么我不能使用 SSH 工作Remmina SSH 客户端在 Ubuntu 12.10 环境中,我可以使用 openssh 服务器从命令行连接我的服务器,如下所示:
ssh -i privatekey.pem username@hostIP
用这种方法一切都很好。
但现在我想将远程桌面会话连接到同一台服务器,但我需要通过 SSH 隧道连接。无论如何,我在服务器上运行 xrdp,我将通过 SSH 隧道使用 RDP 进行连接,我正在使用 Remmina 远程桌面程序来执行此操作。但首先我只想使用 Remmina SSH 来确保它正常工作。 但它不起作用! 每次我尝试连接时都会收到此错误:
SSH public key authentication failed: Public key file doesn't exist
Remmina 中针对 SSH 的设置非常简单:
host
username
indentity file (privatekey.pem)
有人知道为什么 SSH 在命令行中可以工作,但在 Remmina 中却无法工作吗?这是 Remmina 中的错误吗?还是我遗漏了什么?
谢谢!
答案1
答案2
我无法使用 Johannes 的公钥建议来实现这一点,但我能够通过将身份验证选项更改为“公钥(自动)”,然后启动 ssh-agent 并通过 ssh-add 添加我的私钥,让 Remmina 连接到我的远程主机。
为了简化命令行内容,我将其添加到我的 .bashrc 中:
#
# Start up ssh-agent if it's not running
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap "kill $SSH_AGENT_PID" 0
else
echo SSH Agent running
fi
#
# Add my private key
if [[ -z `ssh-add -L | grep mykey.pem` ]]; then
ssh-add ~/.ssh/mykey.pem
fi