我正在使用 psftp.exe 自动下载文件,但需要使用私钥进行连接,如下所述。我可以连接,但是私钥需要密码。
此过程有效,但我必须从键盘输入密码,这破坏了从命令行运行的过程。我想知道是否有人可以告诉我如何在命令行中发送密码。
Using Putty's PSFTP.exe With A Private Key
Command Line:
c:\putty\psftp.exe [email protected] -i putty_id_rsa_1024.ppk -b c:\putty\myscript.scr
Command Line Notes: Replace username with your login name and modify the "putty_id_rsa_1024.ppk" key name to match your key. In order to use a key, you will need to use puttygen.exe to generate, import, and or export your keys. PuTTY requires a putty key file to make a private key connection.
myscript.scr file contents:
cd /
put File1.txt
put File2.txt
put File3.txt
close
Script Notes: Each command is a standard Unix navigation command.
如上所述,有人能告诉我如何在命令行中发送私钥密码吗?
答案1
为什么不直接把密码从密钥中移除呢?如果你只是将密码保存在配置文件或脚本中的某个地方,那么在密钥上设置密码就没有任何意义。
只需使用 puttygen 加载您的 ppk 文件,删除密码并保存。
您当然可以复制 ppk 并从该副本中删除短语,然后使用文件系统 ACL 保护该副本以最大限度地降低风险。
答案2
您可以将密钥加载到盛会当您登录并提供一次密码时。只要 pageant 正在运行,则所有 psftp/PuTTy/plink 连接都将使用存储在其中的密钥。