658次瀏覽 linux

使用SSH Private key 產生 Public key

本篇重點是要記錄使用SSH Private key 產生 Public key
但是我還是紀錄一些key相關的東西,以免以後忘光光

在使用Amazon EC2時都會給你一組private key (副檔名是pem)
所以ssh到ec2時就不需要輸入密碼,應該說ec2也不允許你輸入密碼登入
連接方式是:

ssh -i "你的key.pem" "使用者"@"ec2的public ip"

但是這樣要連到主機每次都要打一長串實在太麻煩
我想要用我常用的方式 ssh [email protected]來登入
所以我要把我本機的public key丟到ec2的機器

ssh-copy-id -i ~/.ssh/id_rsa.pub "使用者"@"ec2的public ip"

沒產生過ssh key的話,執行ssh-keygen

ec2上面每個region並不會分享key pair,即使同帳號
那更不用講不同帳號了
但每個帳號,每個region都要產生一組key pair會不會太麻煩
而且帳號很多個,又在很多region又開機器
那key pair會多到不知道怎麼整理,要用的時候會找到發瘋
所以我的使用方式就是每個key pair都用同一個XD
當然這是比較不安全的,如果你的ec2上面放重要的資料,請自行斟酌
要把key pair import到ec2上面需要的是public key
但ec2讓我們下載的是private key,是無法直接import的
這時候就需要自己將pirate key產生public key
windows可以用puttygen來產生,圖形介面就不用在教學了
linux底下可以用這行指令產生,-y就是產生public key

ssh-keygen -y -f "你的key.pem" > "你的public key.副檔名隨便"