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

ref: http://slv922.pixnet.net/blog/post/26419814

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家目錄底下 (什麼方法都可以只要你把它放進去就對了)

    [B_min@B電腦 ~]$ cd ~/.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的帳號來連線

---
使用 ssh X-Forwarding

$ ssh -x ip_address