概括:

概括:

概括:

我想将文件从一台服务器 SFTP 到另一台服务器,并使用私钥授权。

我相信公钥已正确安装(WinSCP 允许我使用私钥登录),并且我在生成密钥对时故意没有创建密码……但是当我尝试在命令行上使用 SFTP 时,系统提示我输入不存在的密码用户密码。

我怎样才能使用未包装的私钥进行 SFTP?

细节:

我有两台服务器:

  • 到服务器123

  • 来自Server123

我想使用私钥登录将文件从一台服务器 SFTP 到另一台服务器。

  1. 我使用 puttyGen 生成一个公钥-私钥对:

    • 在提供提示的随机移动后,我保存了公钥和私钥
    • 我将密码字段留空,并在提示未加密私钥时选择“是”
  2. 我在toServer123上安装公钥:

    • 我创建了一个用户 paultest,密码为“password123”
    • 我测试是否可以以用户 paultest 的身份 ssh 进入 toServer123
    • 我创建 /home/paultest/.ssh/authorized_keys 并添加公钥
    • 公钥如下所示:

      cat /home/paultest/.ssh/authorized_keys#=>

      ssh-rsa verylongstringoflettersandnumbersNoNewlines paultest@toServer123

    • 我修改了权限:authorized_keys(644),.ssh(700)

  3. 我在fromServer123上安装私钥:

    • 我创建目录:/home/support_user/sftp_proc (chmod 700)

    • 我将 my_private_key.ppk (chmod 600) 上传到 /sftp_proc

    • 我在 /sftp_proc 中创建了文件 text.txt,其中仅包含“这是一个测试”

  4. 以 support_user 身份,我尝试从 fromServer123 通过 SFTP 连接到 toServer123:

    sftp -oIdentityFile=./my_private_key.ppk paultest@toServer123
    

我期望

由于我使用未包装的密钥文件登录,因此无需进一步提示即可登录到服务器。

我得到了什么

Connecting to toServer123...

Unauthorized access to or use of this system is prohibited.
All access and use may be monitored and recorded.

Enter passphrase for key './my_private_key.ppk':

我只需按下回车键,即可获得:

paultest@toServer123's password:

调试步骤

  • 如果我提供最安全的密码,SFTP 就可以工作 - 但我不想使用密码,我想用私钥登录

  • 如果我尝试使用 winSCP 登录并提供私钥,我就可以仅凭私钥登录 - 无需输入密码或密码提示。

问题

如果我的目标是在不提供密码的情况下登录,并且不提示输入不存在的密码,那么我做错了什么?

编辑

my_private_key.ppk 如下所示:

PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: rsa-key-20190528
Public-Lines: 6
LOTSOFLETTERSabcSYMBOLS//++ANDNUMBERS123==
Private-Lines: 14
EVENEVENMORELOTSOFLETTERSabcSYMBOLS//++ANDNUMBERS123==
Private-MAC: cf6c5c786f51a623b28eabe226c98dd6faa09787

答案1

据我所知,sftp密钥的格式不同。OpenSSH 的密钥应如下所示:

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAyGhJBM7lcIZgvTbLG4S2N1oHAIszqAKKysCQY17Fp0dHvL+A
8mVCYwKL0otQfS2FHmmeRfrpLQtaK7R/DFnxfXn8xczpY8Cn6sv+GUjztN0gacOK
Yyiymnfr4mKgSaRIaJDmi3ua8mlddvwtUJFkAt7WrVAgx0z4MkW5jR+riKnT69D+
<snip> 
YFbX0QKBgFTXQ+h79DR4ZwW/f5pop9v8H7GD+g/xRKadgFp4GTKA7RJx64XN/ok+
12+u6pApA8w+ah2K2yoaBIV1d3MatYfUwSJ+0esXTYczBeSXOg6YqrMqjZ4KH2wO
kOyu2/4Dq7VcuK4PSnF1wbd+ZPHffh+YOJIII4iU7fYoRMDHa3tW
-----END RSA PRIVATE KEY-----

所以你应该将你的 ppk 密钥转换为 RSA 密钥。这里如何使用 putty 工具来实现

相关内容