首页 文章

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

提问于
浏览
114

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

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

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

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

3 回答

  • 298

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

    您也可以使用 putty for Mac通过 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
    
  • 25

    将PPK转换为OpenSSh

    OS X:安装Homebrew,然后运行

    brew安装腻子

    将密钥放在某个目录中,例如你的主文件夹 . 现在将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
    
  • 14

    有一种方法可以在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
    

相关问题