記得多年前一直搞不清楚 ssh 時 public key, private key 的差別,生成,以及目錄, 今天開了個 Linode 伺服,特別復習一下。 Q1. ssh 的目錄放哪裡? A1. 一般是 ~/.ssh 的目錄下 若是無此目錄, 可以在 cmd line 下輸入 >>ssh-keygen 就會自動生成目錄以及 key-pair (id_rsa, id_rsa.pub) Q2. public/private key 的差別 A2. public key 簡言之就是公開鎖匙, 給與權限使用該帳號, 存在 client/user 端. private key 則是用來生成 public key 的密鎖, 放置 server 端, 需謹慎儲存. Q3. 如何生成 public key A3. >> ssh-keygen -y -f private_key.rsa > public_key.pub Q4. Server 端如何保存 client 提供的 public_key A4. 透過 scp + ssh 是個不錯的方式 >> scp [YOUR_PUBLIC_KEY].pub [JACK]@reomteserver.com:~/.ssh/[JACK]_id_rsa.pub >> ssh [JACK]@remoteserver.com echo echo " `cat ~/.ssh/[JACK]_is_rsa.pub >> ~/.ssh/authorized_keys" Q5. 我們可能在很多不同的 servers 上使用, 要如何管理? A6. 其實用同一組 public_key.pub 真的很方便, 不過遺失 private_key 就頭大了. 另外可以注意到 >> ls ~/.ssh/known_hosts 保存了連線過的 server 他們所提供的 public keys 先這樣,想到再繼續補充。