在 Mac 终端中使用 PPK 文件通过 SSH 连接到远程连接 [关闭]
Posted
技术标签:
【中文标题】在 Mac 终端中使用 PPK 文件通过 SSH 连接到远程连接 [关闭]【英文标题】:Use PPK file in Mac Terminal to connect to remote connection over SSH [closed] 【发布时间】:2011-03-29 08:27:40 【问题描述】:我一直在 Windows XP 上使用 Putty,并使用 .ppk 文件连接到我的 Linux 服务器(多台服务器)。
在服务器上,我有以下文件夹和文件 ~/.ssh/authorized_keys
我现在想使用 Mac 通过终端进行连接。我已经手动设置了到服务器的远程连接,想知道如何使用 ppk 文件或其中的私钥/公钥进行设置。
请注意:我已经在 Windows 使用私钥/公钥登录,所以我不需要使用 keygen 创建新密钥,我只想知道如何设置,因为我已经有了密钥。 (也就是说,我已经有服务器上的授权密钥列表,以及公钥和私钥)。
【问题讨论】:
【参考方案1】:您可以直接从 Mac 上的终端中 ssh
,但您需要使用 .PEM
键而不是 putty
.PPK
键。您可以在 Windows 上使用 PuttyGen 将 .PEM
转换为 .PPK
,不过我不确定是否相反。
您还可以通过port
或brew
使用putty
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
【讨论】:
sudo 端口 ??那肯定不存在……至少在小牛队 您也可以使用brew:brew install putty
安装腻子。请注意,我们在这里没有使用sudo
;)
有用的答案!!感谢那!!没有安装port的朋友可以通过以下链接安装git:codingsteps.com/installing-and-using-putty-on-mac-os-x
当我尝试运行 puttygen 命令时,这个错误是什么意思?输入密码以加载密钥:断言失败:(random_active),函数 random_byte,文件 ./../sshrand.c,第 313 行。中止陷阱:6
你需要从 HEAD 安装 brew 公式,所以请先brew uninstall
然后使用brew install putty --HEAD
。这对我有用。【参考方案2】:
将 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 并确保您的私钥的权限设置为私有:
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
【讨论】:
【参考方案3】:有一种方法可以做到这一点,而无需在 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
【讨论】:
There is a way to do this without installing putty on your Mac. You can easily convert your existing PPK file to a PEM file using PuTTYgen on Windows.
所以在mac上最好的办法就是在windows上做?!
实际上@sigi 我的回答真的是为了提供帮助。据我了解,该问题的主要目标是使用 Windows 机器中的现有 .ppk 文件从 Mac 连接到 Linux 服务器。鉴于提问者可以访问 Windows 机器,那么在将 .ppk 文件复制到 Mac 之前将其转换为 .pem 文件与首先将其复制到 Mac 并在那里转换一样有效。我建议采用这种方法,因为有些人可能不想在他们的 Mac 上安装他们不需要的其他软件。
这个答案非常有帮助,正是出于辩护的原因:从 Windows 到 Mac 并拥有现有 ppk 文件的人更有可能想要从 Windows 导出,而不是在 Mac 上安装 PuTTY特殊用途。这正是我选择做的。以上是关于在 Mac 终端中使用 PPK 文件通过 SSH 连接到远程连接 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ppk 公钥通过 python Paramiko 进行 ssh 连接
如何在 ubuntu 终端的共享主机中连接 SSH 服务器?