我想使用命令行sftp
客户端,sshfs
并且已获得 filezilla ppk 文件。如何将密钥提取为适用于 sftp、openssh 的格式?
我尝试将部分内容从 ppk 复制到私有 pem 文件中,但没有成功。运行openssl rsa -in keyfile.pem
后显示它不是 RSA 密钥。
unable to load Private Key 140462727153304:error:0D0680A8:asn1
encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1197:
140462727153304:error:0D07803A:asn1 encoding
routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:374:Type=RSA
140462727153304:error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA
lib:rsa_ameth.c:119: 140462727153304:error:0D0680A8:asn1 encoding
routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1197:
140462727153304:error:0D07803A:asn1 encoding
routines:ASN1_ITEM_EX_D2I:nested asn1
error:tasn_dec.c:374:Type=PKCS8_PRIV_KEY_INFO
140462727153304:error:0907B00D:PEM
routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:pem_pkey.c:141:
我该怎么做呢?
答案1
感谢 Spas Spasov (@pa4080) 的评论,我确实做到了。
这就是我所做的。
matthewh@xen:~/.ssh$ puttygen
The program 'puttygen' is currently not installed. You can install it by typing:
sudo apt install putty-tools
matthewh@xen:~/.ssh$ sudo apt install putty-tools
...
最后,我需要阅读手册页以使用 puttygen 来转换 ppk。
执行转换的命令是:
puttygen keyfilename.ppk -O private-openssh -o keyfilename.pem
然后我就可以将密钥用于 ssh/sftp 和 sshfs。