tid=88071& 本帖最後由 IT_man 於 2018-9-13 18:28 編輯 9 Y7 p# h6 E: p+ r# u2 R0 P% T
1 e, ]! }2 u( Z7 D7 S本篇主要介紹從linux client 免帳號密碼ssh(Secure shell)連到linux server之詳細過程。步驟:
' f2 p5 l: D: q8 E
1 D+ M/ B: }% b+ Q' |<1> 在Client端產生Client金鑰: h+ [9 @9 B0 g C
/ k- l T: w! T
假設在client端以使用者 user1 登入,家目錄的 .ssh 目錄裡,目前只有一個 known_hosts 檔案,這個是用來記錄曾經連線到別台的server的 SSH Server 公鑰。7 T! }( y/ n$ D+ f4 [, p, w
再來,產生一組這台client的 SSH 公鑰+私鑰,預設是使用 RSA 演算法 ==> ssh-keygen 指令 :
2 W( n O$ l$ n' ^% j4 o( X# @: M/ I6 n4 ^3 |# U1 ]( I0 Q
4 L/ ~. c5 ?) [7 J; q6 _3 ]
1 M) ~9 U& Z- ~: E4 X" M) a, P, |5 [3 b# s Q
過程有三個選項要使用者設定,不必修改,全部直接按 Enter 用預設值就好了。
; j* s/ Y% ^9 f4 x6 W5 y1. Enter file in which to save the key - 輸入金鑰的檔案路徑及名稱,預設是 ~/.ssh/id_rsa。 ~" J6 `7 k! Q8 W2 y7 I
2. Enter passphrase - 輸入自訂密碼。
& c3 m$ C# Z1 }7 w0 @9 B% b3. Enter same passphrase again - 再輸入一次自訂密碼。
$ V8 S1 y% B5 ~$ R
O1 Y" w" O- w5 s* I此時它就會產生 id_rsa 私鑰及 id_rsa.pub 公鑰。公鑰的內容,其實就只是一堆的加密過的文字而已。
$ n, E% {& [# x* x, B使用 scp 或 ftp 或你習慣的檔案傳輸工具將 Client 端的公鑰 ~/.ssh/id_rsa.pub 複製到 Server端裡,帳號假設也是user1,那麼就把公鑰存到 user1 的家目錄 ~。 5 E7 j% @( L! d3 B) S R8 s' ^: x
4 G! l9 N$ K6 E1 d+ k
<2> 在 Server端加入剛剛Client端產生的公鑰:1 I' u- I1 T* d" }# l4 ]1 K7 ]1 @
* _: S h% e+ k |
用SSH軟體,假設以Putty連到 Server端,user1登入後確認一下 Client 的公鑰 id_rsa.pub 已經被複製進來,如果家目錄沒有 .ssh 目錄就自行建立。
4 }1 ^9 H3 Q& f- ]* O把 .ssh 目錄的權限改成只有本人才可讀寫,這樣比較安全。
6 Z b! `* d' b; f/ qchmod 700 ~/.ssh
. S4 n2 v% R5 R- w& A把剛剛複製過來的 Client 端公鑰,匯入到 Server端的授權清單(authorized_keys)裡。 + @4 @8 \9 R8 |: A7 W2 i8 t
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys6 I$ E' b- K; H' \* U
, B7 u& O* `5 d* P同樣把 authorized_keys 檔案的權限只有本人可讀寫,這樣比較安全。3 Y) x g6 ]5 D+ |; A# {- z
chmod 600 ~/.ssh/authorized_keys
6 L8 h% b% x7 x2 j( P% j+ ]- x! \+ l. P0 n8 \
% F0 J& P9 h n/ g7 T" c m' T" v* `4 I
結果:
# O. O) P/ C/ L7 Q原本登入的時候,會詢問帳號跟密碼。將 Client 端的公鑰加到 Server端 的授權名單後,就可以直接登入不用帳號密碼了,是不是很方便,而且經過SSH加密傳輸更安全。1 r! j3 t* o) w( G+ A( V
特別說明的是:上面的步驟只提供Client端的使用者user1免帳號密碼登入到Server端的使用者user1;如果Client端的使用者user1欲免帳號密碼登入到Server端的使用者root的話,步驟<2>的user1需換成root,即Server端須以root登入,其他動作都一樣4 w) [( n: ~! z! z6 C. Z6 U4 ]
5 E! H& u: f) A9 Y! D9 E( M" W& `
2 W) \; U. X d6 G. AP.S 至於從Windows 免密碼ssh(Secure shell)連到linux server,請參考 http://blog.itist.tw/2015/03/login-ssh-server-without-username-and-password.html& |3 G$ g/ @% A! Z) v* t' _
9 X8 \4 @* T& \* f9 s
|