在 Ubuntu 终端上使用 .ppk 文件登录 SSH

And*_*ono 73 server ssh login remote-login

我有一个生产服务器。要登录到服务器,我必须使用一个.ppk文件。

如何使用 Ubuntu 终端和.ppk文件登录?

我试过这个:

ssh -i location/file.ppk username@server-ip
Run Code Online (Sandbox Code Playgroud)

但它显示一条错误消息。

小智 87

如果您只有 .ppk 文件,那么创建一个 .pem 文件然后使用它连接到您的服务器会很有用。

在您的 Ubuntu 计算机中,putty-tools使用以下命令进行安装:

sudo apt-get install putty-tools
Run Code Online (Sandbox Code Playgroud)

现在使用以下命令将您的.ppk文件转换为.pem

puttygen yourkey.ppk -O private-openssh -o yourkey.pem
Run Code Online (Sandbox Code Playgroud)

使用.pem以下命令设置使用该文件的正确权限:

chmod 400 yourkey.pem
Run Code Online (Sandbox Code Playgroud)

现在使用以下命令连接到您的服务器:

ssh -i yourkey.pem serverusername@server-ip
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。

  • 提及 .pem 和权限的最高答案。 (3认同)

小智 72

您可以.ppk通过安装putty-tools. 所以

apt-get install putty-tools
Run Code Online (Sandbox Code Playgroud)

然后您可以将.ppk文件转换puttygen为 OpenSSH 的格式,如下所示:

puttygen <the_key.ppk> -O private-openssh -o <new_openssh_key>.key
Run Code Online (Sandbox Code Playgroud)

  • 如果您作为 Mac 用户找到此解决方案,您将找不到任何_putty-tools_。只需执行“brew install putty”,最终您将获得“puttygen”。 (2认同)

tec*_*raf 23

.ppk 是 Windows 程序 PuTTYgen 使用的文件格式。

您可以尝试Kaleb Pederson在 StackOverflow 上发布的以下过程:

puttygen支持将您的私钥导出为 OpenSSH 兼容格式。然后,您可以使用 OpenSSH 工具重新创建公钥。

  1. 打开 PuttyGen
  2. 点击加载
  3. 加载你的私钥
  4. 转到Conversions->Export OpenSSH并导出您的私钥
  5. 将您的私钥复制到~/.ssh/id_dsa(或id_rsa)。
  6. 使用创建公钥的 RFC 4716 版本 ssh-keygen

    ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
    
    Run Code Online (Sandbox Code Playgroud)
  7. 将 RFC 4716 版本的公钥转换为 OpenSSH 格式:

    ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
    
    Run Code Online (Sandbox Code Playgroud)


小智 11

安装 putty 工具,如果你在 Linux 上没有:

sudo apt-get install putty-tools
Run Code Online (Sandbox Code Playgroud)

生成pem文件运行以下命令:

puttygen keyname.ppk -O private-openssh -o keyname.pem
Run Code Online (Sandbox Code Playgroud)

pemkey.pem文件放在您的~/.ssh目录中:

cp keyname.pem ~/.ssh
Run Code Online (Sandbox Code Playgroud)

将 pem 文件设置为具有适当的权限:

chmod 400 keyname.pem
Run Code Online (Sandbox Code Playgroud)

就是这样。