160

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

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

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

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

4

3 回答 3

418

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

您还可以通过或使用puttyMac转换密钥:portbrew

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
于 2010-10-14T11:13:53.323 回答
37

将 PPK 转换为 OpenSSH

OS X:安装 Homebrew,然后运行

冲泡安装腻子

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

要生成私钥:

光盘~

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
于 2015-10-21T11:35:53.627 回答
22

有一种方法可以做到这一点,而无需在 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
于 2016-03-02T20:25:32.050 回答