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

我一直在 WindowsXP 上使用腻子,并使用。连接到我的 Linux 服务器(几个服务器)的 ppk 文件。

在这些服务器上,我有以下文件夹和文件 ~/. ssh/authored_ keys

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

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

242082 次浏览

您可以直接从 Mac 上的终端 ssh,但是您需要使用 .PEM键而不是 putty .PPK键。你可以在 Windows 上使用 PuttyGen 来从 .PEM转换到 .PPK,但是我不确定其他的方法。

你也可以通过 port或者 brew在 Mac 上使用 putty转换密钥:

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

将 PPK 转换为 OpenSSh

OS X: 安装 Homebrew,然后运行

酿造安装油灰

把你的密钥放在某个目录中,比如你的主文件夹。现在把 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 并确保将私钥的权限设置为 private:

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

有一种方法可以做到这一点,而不必在你的 Mac 上安装腻子。可以在 Windows 上使用 PuTTYgen 轻松地将现有 PPK 文件转换为 PEM 文件。

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

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

chmod 400 <private-key-filename>.pem

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

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