这个错误表明导入的private key文件不是XShell所支持的,有三种可能:
- 将Public Key当成Private Key导入。。。
- 使用Putty的ppk文件,囧,请使用PUTTY的puttygen.exe转换成OPENSSH格式的
- Key文件有多种格式(SSH1-RSA, SSH2-RSA, SSH2-DSA, SSH.COM, OPENSSH2-RSA, OPENSSH2-DSA, PPK, SSH2-IETF SECSH[RSA,DSA]),目前看来XShell支持SSH1-RSA, OpenSSH2-RSA, OpenSSH2-DSA, SSH.COM, NetSarang User Key。。。所以如果使用了标准的SSH2-RSA, SSH2-DSA这两种PrivateKey的同学请试着转换为OpenSSH格式(SecureCRTの場合:Tools->Convert Private Key to OpenSSH Format)后再导入。
注:
XShell可以生成OPENSSH2-RSA, OPENSSH2-DSA, SSH2-IETF SECSH(RSA,DSA)这几种格式的KEY文件并能识别,并能互相转换
SecucreCRT可以生成SSH1-RSA, SSH2-RSA, OPENSSH2-RSA, OPENSSH2-DSA这几种格式的KEY文件,并能互相转换
puttygen.exe可以生成SSH1-RSA, PPK, OPENSSH2-RSA, OPENSSH2-DSA, SSH.COM格式的KEY文件,除了SSH1格式都能进行互相转换,不过如果遇到如下报错,请更新你的puttygen.exe即可(http://winscp.net/forum/viewtopic.php?t=8324)
“Couldn't load private key (ciphers other than DES-EDE3-CBC not supported)”
由此可见OPENSSH2格式的key文件比较通用一些。