本帖最後由 IT_man 於 2018-9-13 18:28 編輯
- d7 c% U# K# e0 e0 h
3 i% s) Z% X2 U# t9 z本篇主要介紹從linux client 免帳號密碼ssh(Secure shell)連到linux server之詳細過程。步驟:& T8 m1 y {1 Z
2 h: C3 C: o- s: P" N* {$ E1 E<1> 在Client端產生Client金鑰:/ o! G! |6 {- I
6 H4 m4 O6 w) ?假設在client端以使用者 user1 登入,家目錄的 .ssh 目錄裡,目前只有一個 known_hosts 檔案,這個是用來記錄曾經連線到別台的server的 SSH Server 公鑰。
& j% k& d s# d再來,產生一組這台client的 SSH 公鑰+私鑰,預設是使用 RSA 演算法 ==> ssh-keygen 指令 :3 [; g# I( C) e7 o) y# [* y
7 {, ~+ `6 ~+ R! D
. A6 s- O* N7 t$ q- n, D
3 k- W3 T+ S p/ G+ h
% s( C: o$ s% r' A; A2 x過程有三個選項要使用者設定,不必修改,全部直接按 Enter 用預設值就好了。
0 j2 L! l8 h/ {7 o, s1. Enter file in which to save the key - 輸入金鑰的檔案路徑及名稱,預設是 ~/.ssh/id_rsa。
5 q a) C% X/ J0 h/ p. f2. Enter passphrase - 輸入自訂密碼。, `- o7 L! I, `; @& i
3. Enter same passphrase again - 再輸入一次自訂密碼。
% Y) n& d5 ]7 [4 l
, \, s* q) M! W$ Q: o. ?此時它就會產生 id_rsa 私鑰及 id_rsa.pub 公鑰。公鑰的內容,其實就只是一堆的加密過的文字而已。
* n& ]: G* q8 J1 }" R9 Y" _使用 scp 或 ftp 或你習慣的檔案傳輸工具將 Client 端的公鑰 ~/.ssh/id_rsa.pub 複製到 Server端裡,帳號假設也是user1,那麼就把公鑰存到 user1 的家目錄 ~。
, c6 L2 X" `$ k7 ]6 r: ], h6 R2 J1 y% F0 A
<2> 在 Server端加入剛剛Client端產生的公鑰:/ L7 s! j/ e4 U; l2 \+ x! y- @0 J. y
" ~" E& H" Y' O O用SSH軟體,假設以Putty連到 Server端,user1登入後確認一下 Client 的公鑰 id_rsa.pub 已經被複製進來,如果家目錄沒有 .ssh 目錄就自行建立。
4 ~5 d" J! @: t+ r把 .ssh 目錄的權限改成只有本人才可讀寫,這樣比較安全。) W2 h& a; |- s4 y
chmod 700 ~/.ssh% n- V' v2 f. _2 C6 Z
把剛剛複製過來的 Client 端公鑰,匯入到 Server端的授權清單(authorized_keys)裡。
4 O, \2 I. {: D: Z- w+ w) S' t' V$ O3 Hcat ~/id_rsa.pub >> ~/.ssh/authorized_keys5 Y" u8 y! Y% Y0 j
; e0 v; [! K4 b" ]# |
同樣把 authorized_keys 檔案的權限只有本人可讀寫,這樣比較安全。* `0 ~2 M( P; Q5 j' Y3 k3 P3 t. v
chmod 600 ~/.ssh/authorized_keys
6 u9 q; P" d0 ]$ G, F: P1 R* A: L/ X; D6 {& h
6 z; p1 e; c$ _; P3 K9 J2 P9 C
8 [8 j& v. |6 B ^' r6 i結果:
, m9 `' R9 |- B: `( I原本登入的時候,會詢問帳號跟密碼。將 Client 端的公鑰加到 Server端 的授權名單後,就可以直接登入不用帳號密碼了,是不是很方便,而且經過SSH加密傳輸更安全。" U) \& |, N1 v- v, z+ Z
特別說明的是:上面的步驟只提供Client端的使用者user1免帳號密碼登入到Server端的使用者user1;如果Client端的使用者user1欲免帳號密碼登入到Server端的使用者root的話,步驟<2>的user1需換成root,即Server端須以root登入,其他動作都一樣) W! l3 w# ?$ I, T9 U# [
$ V! e. ^. D. o* b, }. m- x
" M f2 E% L% Y( O/ iP.S 至於從Windows 免密碼ssh(Secure shell)連到linux server,請參考 http://blog.itist.tw/2015/03/login-ssh-server-without-username-and-password.html, Z" [9 N; O1 R3 \8 S2 {
0 [) d* {# y V( ? |
|