兩台 Linux 之間直接登入是使用 ssh-keygen 產生 public / private key,再用 ssh-copy-id 將 public 傳到別台 Linux ,就可以直接登入,那 Windows 要如何直接登入 Linux 呢?
在 Linux 產生的 key,帶到 Windows 之後是必須要格式轉換才能使用,這裡先省略不提這個 solution,單純使用 putty 提供的機制吧!
先到官網下載 puttygen.exe
比對 MD5 是否一致?
不用安裝,直接執行 puttygen.exe,結果…
Windows 10 蹦出一個警告,也只能【仍要執行】,不然呢?
【Generate】產生一組 key
在紅色框框內,任意移動滑鼠,當作是 random 的來源,大概是 Windows 沒有 /dev/random、/dev/urandom 的替代方案吧!
不要點選【Save public key】,格式不對,要將 public key 存檔的話,全選紅色框框
這裡將 public key 存在 c:\temp\public.key
點選【Save private key】,將 private key 存檔,private key 是沒有 passphrase 保護的,要小心保管
再來就是設定 putty.exe,新增一個連到 Linux 的設定,192.168.35.136 這台是 CentOS 6.7
指定 private key
記得要 save 存檔
此時用 putty 登入,依然需要輸入 password,因為只指定了 Windows 端的 private key,還沒將 public key 上傳到 Linux 主機
public key 是 base64 encode 編碼過的純文字,直接複製貼上就可以了
在家目錄建個目錄 $HOME/.ssh,public key 放在 $HOME/.ssh/authorized_keys
在 Windows 端開啟 public key,直接複製貼上
將 putty 斷線再重新登入,就可以直接登入了!
如果 WinSCP*.exe 也要直接登入的話
指定 private key
這樣 WinSCP*.exe 也可以自動登入 Linux 主機了!
多謝分享!