【问题标题】:Use PPK file in Mac Terminal to connect to remote connection over SSH [closed]在 Mac 终端中使用 PPK 文件通过 SSH 连接到远程连接 [关闭]
【发布时间】:2011-03-29 08:27:40
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: macos ssh ssh-keys openssh


    【解决方案1】:

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

    您还可以通过portbrew 使用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特殊用途。这正是我选择做的。
      猜你喜欢
      • 1970-01-01
      • 2017-09-28
      • 2011-02-15
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      • 2021-06-05
      相关资源
      最近更新 更多