在Mac Terminal中使用PPK文件连接到通过SSH的远程连接
我一直在Windows XP上使用Putty,并使用.ppk文件连接到我的Linux服务器(几台服务器)。
在服务器上,我有以下文件夹和文件〜/ .ssh / authorized_keys
我现在想用Mac通过terminal连接。 我已经手动build立到服务器的远程连接,并想知道如何使用ppk文件或其中的私钥/公钥来设置。
请注意:我已经使用Windows的私钥/公钥login,所以我不需要使用keygen创build一个新的密钥,我只是想知道如何设置我已经拥有密钥。 (换句话说,我已经拥有服务器上的授权密钥列表,以及公钥和私钥)。
您可以直接从Mac上的terminalssh
,但您需要使用.PEM
键,而不是putty
.PPK
键。 您可以在Windows上使用PuttyGen将.PEM
转换为.PPK
,但我不确定其他方式。
您也可以使用putty
for mac通过port
或brew
转换密钥:
sudo port install putty
要么
brew install putty
这也将安装puttygen
。 要得到puttygen
输出一个.PEM
文件:
puttygen privatekey.ppk -O private-openssh -o privatekey.pem
一旦你有钥匙,打开一个terminal窗口,并:
ssh -i privatekey.pem user@my.server.com
私钥必须有严格的安全设置,否则SSH抱怨。 确保只有用户可以读取密钥。
chmod go-rw privatekey.pem
将PPK转换为OpenSSh
OS X:安装Homebrew,然后运行
酿造安装腻子
把你的钥匙放在一些目录中,例如你的家庭文件夹。 现在将PPK密钥转换为SSH密钥对:cachingsearch
要生成私钥:
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
有一种方法可以做到这一点,而无需在您的Mac上安装腻子。 您可以使用Windows上的PuTTYgen轻松地将现有的PPK文件转换为PEM文件。
启动PuTTYgen,然后使用Loadbutton加载现有的私钥文件。 从“转换”菜单中select“导出OpenSSH密钥”并保存带有.pem文件扩展名的私钥文件。
将PEM文件复制到您的Mac,并将其设置为您的用户只读:
chmod 400 <private-key-filename>.pem
那么你应该可以使用SSH连接到你的远程服务器
ssh -i <private-key-filename>.pem username@hostname