我有一个盒子,我正尝试使用没有密码的密钥对创建一个 SSH 隧道。如果我运行 cygwin.exe 并使用 ssh-keygen 生成没有密码的密钥对,并将公钥放在服务器上,我可以使用 ssh 在两个盒子之间创建隧道,没有问题。
但是我的问题是这样的。我可以不运行 cygwin.bat 而直接从命令提示符中使用 ssh.exe 来执行此操作吗?
当我尝试此操作时,系统提示我输入用户密码,并且未使用密钥对。我假设当我运行 cygwin.exe 时,它会加载我的 usr 目录并使用 .ssh 目录中的密钥对,而当我直接运行 ssh.exe 时,它不会加载我的 usr 目录,因此它不会尝试使用密钥对并提示我输入密码。
我该如何解决这个问题?
答案1
ssh
查找$HOME/.ssh/id_*
您的密钥,以便您可以设置HOME
环境变量。
在命令执行程序:
set HOME=path\to\your\home
(我不确定 Cygwin 将您的主目录放在哪里,但set HOME=%USERPROFILE%
应该可以工作。)