使用 lftp 和密钥/密码组合

使用 lftp 和密钥/密码组合

我已经为此苦思冥想了好几个小时,但至今没有成功:

在一台 Mac 上,我可以执行以下操作:

  • 通过 ssh 连接到我的服务器
  • 输入私钥密码
  • 密码存储在钥匙串中
  • lftp 现在会自动使用存储的密码

在 Windows 上,cygwin 不存储密码,lftp 也不会提示我输入密码。所以当我输入

lftp -p PORT -e "set ssl:key-file file" -u user,xxx sftp://IP

并执行“ls”后,我立即断开了连接。知道如何传递密码/让 lftp 向我询问吗?

谢谢 :)

(这可能适用于 putty,但我只想使用 cygwin)

明白了。安装并设置 ssh-agent 就成功了。更多信息这里

答案1

在 Cygwin 中,设置 HOME 目录时出现了一些问题,这是真正出乎意料的部分。我不知道您是否正确完成了这项工作,但基本上,一旦您这样做了,配置就与 *Nix 系统的配置相同(这并不奇怪,因为 Cygwin 也使用 OpenSSH,事实上*Nix 世界中的标准)。

我可以给你一个有用的参考这里,以及来自同一网页的一段引文:

使用 Cygwin 创建主目录:Cygwin 安装文件夹包含文件夹“usr”和“bin”。如果还没有,请添加一个名为“home”的文件夹,并在该文件夹中添加一个带有某个名称的文件夹,通常是您的用户名,例如“nifty”。这将是 ssh.exe 查找包含您的密钥的 .ssh 文件夹的文件夹;见下文。(Cygwin 认为您的主目录位于 /etc/passwd 中的行所指的位置,见下文)。请注意,您的主目录不必位于 Cygwin 的“/home”(我的不是),您可以将其放在任何地方,例如 C:\nifty。为此,您必须启动 Cygwin 控制台并运行

  $ cd /
  $ mkdir home
  $ cd home
  $ ln -s /cygdrive/c/nifty nifty

“ln”命令会创建一个符号链接,就像 Windows 快捷方式一样,从 Cygwin 的 /home/nifty 到您的 C:\nifty。请注意,“/cygdrive/c/nifty”是 Cygwin 表示“C:\nifty”的方式。如果您的 HOME 位于另一个驱动器上,例如 D:,请使用 cygwin 前缀 /cygdrive/d。

在 Windows 上设置 HOME 环境变量:对于 Win2K/XP,右键单击“我的电脑”,单击“高级”和“环境变量”。添加一个个人环境变量 HOME,其值为 C:\cygwin\home\nifty(或者如果您执行了上面的 ln 操作,则为 C:\nifty)。您不需要重新启动。

相关内容