Quick Reference:
$ brew install putty #安裝puttygen套件
$ puttygen <your-putty-key.ppk> -O private-openssh -o <your-ssh-key.pem> #將putty key轉換成ssh key
$ chmod 400 <your-ssh-key.pem> #調整.pem權限
$ ssh -i <your-ssh-key.pem> <user@your.server.com> #使用.pem進行ssh連線
突然發現學程的網站有小bug,所以需要連上網站所在的AWS(Amazon Web Service)伺服器裡修改程式碼。但建置網站的學長只留下了一個.ppk的putty專用SSH認證檔,而我這台破Mac實在沒容量給我再灌一台Windows然後裝上Putty來連線,所以我就開始研究如何讓MacOS內建的ssh指令也能吃進這支.ppk的putty key認證檔。
以下是我找到的解法:
1.使用puttygen將putty key轉換成ssh可用的key
ssh指令無法接受.ppk的putty key,必須先轉換成ssh可以使用的key
puttygen這支程式可以幫你轉換,你可以使用Homebrew來安裝它:
$ brew install putty
接著可以輸入下面這條指令,將putty key轉換成ssh key:
$ puttygen <your-putty-key.ppk> -O private-openssh -o <your-ssh-key.pem>
2.為ssh key設定適當的存取權限
如果你的ssh key檔的權限太過開放,伺服器會阻擋你使用這支key來連線,所以你必須為它設定適當的權限(有時候不需要設定權限就是對的了):
$ chmod 400 <your-ssh-key.pem>
3.連線
接著你可以用它來進行連線啦!
$ ssh -i <your-ssh-key.pem> <user@your.server.com>