使用Mac终端中的PPK文件通过SSH连接到远程连接

时间:2010-08-13 08:15:00

标签: macos ssh ssh-keys openssh

我一直在Windows XP上使用Putty并使用.ppk文件连接到我的Linux服务器(多台服务器)。

在服务器上我有以下文件夹和文件〜/ .ssh / authorized_keys

我现在想用Mac通过终端进行连接。我手动设置了与服务器的远程连接,并想知道如何使用ppk文件或其中的私钥/公钥进行设置。

请注意:我已经在Windows上使用私钥/公钥登录,因此我不需要使用keygen创建新密钥,我只想知道如何设置我已经拥有密钥。 (换句话说,我已经拥有服务器上的授权密钥列表,以及公钥和私钥)。

3 个答案:

答案 0 :(得分:323)

您可以直接从Mac上的终端ssh,但您需要使用.PEM密钥而不是putty .PPK密钥。您可以在Windows上使用PuttyGen将.PEM转换为.PPK,但我不确定相反的方法。

您还可以通过puttyport使用brew for Mac转换密钥:

sudo port install putty

brew install putty

这也将安装puttygen。要让puttygen输出.PEM文件:

puttygen privatekey.ppk -O private-openssh -o privatekey.pem

获得密钥后,打开终端窗口并:

ssh -i privatekey.pem user@my.server.com

私钥必须具有严格的安全设置,否则SSH会抱怨。确保只有用户才能读取密钥。

chmod go-rw privatekey.pem

答案 1 :(得分:27)

将PPK转换为OpenSSh

OS X:安装Homebrew,然后运行

  

brew install putty

将钥匙放在某个目录中,例如你的主文件夹。现在将PPK密钥转换为SSH密钥对:缓存搜索

要生成私钥:

  

cd~

     

puttygen id_dsa.ppk -O private-openssh -o id_dsa

并生成公钥:

  

puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub

将这些键移动到〜/ .ssh,并确保私钥的权限设置为私有:

mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub

连接ssh服务器

ssh -i ~/.ssh/id_dsa username@servername

端口转发连接mysql远程服务器

ssh -i ~/.ssh/id_dsa -L 9001:127.0.0.1:3306 username@serverName

答案 2 :(得分:16)

如果不在Mac上安装putty,有一种方法可以做到这一点。您可以使用Windows上的PuTTYgen轻松将现有PPK文件转换为PEM文件。

启动PuTTYgen,然后使用“加载”按钮加载现有的私钥文件。从“转换”菜单中选择“导出OpenSSH密钥”并使用.pem文件扩展名保存私钥文件。

将PEM文件复制到Mac并将其设置为只读用户:

chmod 400 <private-key-filename>.pem

然后您应该能够使用ssh连接到远程服务器

ssh -i <private-key-filename>.pem username@hostname