本帖最後由 IT_man 於 2018-9-13 18:28 編輯
/ t9 T2 K7 l9 v8 y. ?' h' M) Y1 D& l" }
本篇主要介紹從linux client 免帳號密碼ssh(Secure shell)連到linux server之詳細過程。步驟:& X" ^* A* H7 L& j- f$ d
# \0 D! }; c, ]# v5 q. {! E! n<1> 在Client端產生Client金鑰:; h; K% D, s: q% P# s, a7 }
# A+ e1 G% H3 a9 v' t1 G假設在client端以使用者 user1 登入,家目錄的 .ssh 目錄裡,目前只有一個 known_hosts 檔案,這個是用來記錄曾經連線到別台的server的 SSH Server 公鑰。
" ~1 h0 ~+ d4 c7 l/ {- h再來,產生一組這台client的 SSH 公鑰+私鑰,預設是使用 RSA 演算法 ==> ssh-keygen 指令 :
; E$ G" P5 r( B0 Y0 g
& o! Y* W+ d: S' |& m7 E0 [
; a9 m H2 X3 F6 G8 [1 k( d
& e" |9 m- h U A$ V) }3 d+ W9 i+ l1 q0 m, P
過程有三個選項要使用者設定,不必修改,全部直接按 Enter 用預設值就好了。
( _9 }1 k8 g1 ]1. Enter file in which to save the key - 輸入金鑰的檔案路徑及名稱,預設是 ~/.ssh/id_rsa。5 o: B6 T- _$ ~, y8 t
2. Enter passphrase - 輸入自訂密碼。
* u+ S+ L$ p$ P+ j+ D, k3. Enter same passphrase again - 再輸入一次自訂密碼。& T1 c# H9 C1 S1 l h
8 N; t m7 c1 t
此時它就會產生 id_rsa 私鑰及 id_rsa.pub 公鑰。公鑰的內容,其實就只是一堆的加密過的文字而已。: r* E2 W5 i7 ?' X
使用 scp 或 ftp 或你習慣的檔案傳輸工具將 Client 端的公鑰 ~/.ssh/id_rsa.pub 複製到 Server端裡,帳號假設也是user1,那麼就把公鑰存到 user1 的家目錄 ~。
W( S" I1 h# m' L6 o% V/ D& U0 f! N9 E
<2> 在 Server端加入剛剛Client端產生的公鑰:
2 H, B) e# H* b( E
6 ~1 Q+ B/ J9 z) Z+ a/ X用SSH軟體,假設以Putty連到 Server端,user1登入後確認一下 Client 的公鑰 id_rsa.pub 已經被複製進來,如果家目錄沒有 .ssh 目錄就自行建立。
6 e. Z O0 ]; o! W把 .ssh 目錄的權限改成只有本人才可讀寫,這樣比較安全。
5 N& M% w- D! w+ H- J Z" }chmod 700 ~/.ssh" ^+ V5 f5 t( ?; P! u' ` D
把剛剛複製過來的 Client 端公鑰,匯入到 Server端的授權清單(authorized_keys)裡。 , G" k% z9 W/ Z1 z$ }" [
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
0 H0 @- l% M* R- M7 W. b" @
$ v) d" |* G1 t1 D同樣把 authorized_keys 檔案的權限只有本人可讀寫,這樣比較安全。
* N/ \' h- b$ A! E! S" L# T. |chmod 600 ~/.ssh/authorized_keys; Z0 q& y* g4 n" H$ B$ w+ P7 m
t7 c+ ?2 x& _/ J# p
: a; t3 \* w- L4 {, H' Y2 f! l0 B2 A' [6 A/ f
結果:
7 j4 C. D- I* [' J原本登入的時候,會詢問帳號跟密碼。將 Client 端的公鑰加到 Server端 的授權名單後,就可以直接登入不用帳號密碼了,是不是很方便,而且經過SSH加密傳輸更安全。) F! U( u9 O$ A, E
特別說明的是:上面的步驟只提供Client端的使用者user1免帳號密碼登入到Server端的使用者user1;如果Client端的使用者user1欲免帳號密碼登入到Server端的使用者root的話,步驟<2>的user1需換成root,即Server端須以root登入,其他動作都一樣
( A: z, k% p$ C
8 V, o, Y! y: Y8 A( B1 H7 i& H( C4 O% R8 [- Q& l N/ Z
P.S 至於從Windows 免密碼ssh(Secure shell)連到linux server,請參考 http://blog.itist.tw/2015/03/login-ssh-server-without-username-and-password.html5 w& I+ Y) v) |2 K+ {3 _( i2 Q
# B9 c) n6 `1 u; X |
|