2009年2月26日 星期四

教學 / 不使用密碼的SSH連線 - ssh-keygen

環境介紹 (windows 使用putty pietty 連線也可以,後面會說明)


A電腦 192.168.1.1- 要被連線的主機
B電腦 192.168.1.2- 使用SSH連線到A電腦的主機


小明 在 A主機 有一個使用者帳號 A_min
       在 B主機 有一個使用者帳號 B_min


環境設定 - A主機


# vi /etc/ssh/sshd_config


 


RSAAuthentication yes
PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no  (如果不想讓使用者使用密碼登入的話再設定)

# service sshd restart 




步驟一 - 於B電腦使用ssh-keygen 產生 兩把金鑰


B電腦
[B_min@B電腦 ~]$ ssh-keygen -t rsa
(按三下Enter 不用設密碼)
會在 /home/B_min/.ssh/ 目錄下產生2個檔案: id_rsa , id_rsa.pub






步驟二 - 將 B電腦產生的 id_rsa.pub 上傳到 A電腦的 A_min家目錄底下的 ".ssh"目錄 (什麼方法都可以只要你把它放進去就對了)


[B_min@B電腦 ~]$ cd ~/.ssh
[B_min@B電腦 .ssh]$ pwd
/home/B_min/.ssh
[B_min@B電腦 .ssh]$ scp id_rsa.pub A_min@192.168.1.1:~/






關鍵的步驟三:接下來要在A主機上操作了,用SSH連線或是直接在A主機上操作,隨意!


A主機
[A_min@A電腦 ~]$ cd ~/.ssh
[A_min@A電腦 .ssh]$ cat ../id_rsa.pub >> authorized_keys
[A_min@A電腦 .ssh]$ chmod 644 ~/.ssh/authorized_keys 




驗證


[B_min@B電腦 ~]$ ssh A_min@192.168.1.1
Last login: Fri Feb 27 21:40:00 2009 from 192.168.1.2


恭喜你不用密碼登入囉


 




Windows Client - B電腦是Windows Client的話...


需要工具軟體:PuTTY , PuTTYgen 下載


金鑰產生方法
使用PuTTYgen產生金鑰 
Generate > 滑鼠亂動進度列跑跑跑(很有趣XD) > 金鑰演算完成


Save Public Key > 存檔 →  步驟一的 id_rsa.pub
Save Private Key > 存檔 →  步驟一的 id_rsa


阿接下來就跟步驟二之後一樣,把id_rsa.pub丟到A電腦上的A_min帳號....自己看著辦




PuTTY使用金鑰連線方法


很簡單只要設定一個地方
設定畫面 > Connection > SSH > Auth 
將key的位置放入Private key file for authentication
填好連線主機IP就Open吧 


login as:A_min
Authenticating with public key "imported-openssh-key"


用誰登入就看你把id_rsa.pub丟到誰家
因為我們範例裡面丟到A_min家,當然是用A_min的帳號來連線


 


 


 


沒有留言:

張貼留言

如何在 golang 裡面引用 gitlab private repo

參考文章:https://stackoverflow.com/questions/27500861/whats-the-proper-way-to-go-get-a-private-repository 原文是用 gitlab.company.com 當範例,這邊改成一般帳號...