本帖最後由 IT_man 於 2018-9-13 18:28 編輯 9 L8 Z" X `, {7 G4 @
1 ]/ ]4 G9 M0 M* P
本篇主要介紹從linux client 免帳號密碼ssh(Secure shell)連到linux server之詳細過程。步驟:! v& P1 S4 D6 g8 B% z; j& O9 G
: m! m6 S) j' q) y' \ ] a
<1> 在Client端產生Client金鑰:
; q }' {) u v" v" R5 {2 T9 R& _0 T( s
假設在client端以使用者 user1 登入,家目錄的 .ssh 目錄裡,目前只有一個 known_hosts 檔案,這個是用來記錄曾經連線到別台的server的 SSH Server 公鑰。
+ f0 t. [4 E& a4 I( q# b1 W再來,產生一組這台client的 SSH 公鑰+私鑰,預設是使用 RSA 演算法 ==> ssh-keygen 指令 :
, y; O% s7 u9 o0 y+ @
& }0 o' O2 {9 n1 h9 p
; p' t4 b9 J& e1 `; \
2 K+ L* [, {; s1 ?( ~) ^& z# O2 i" S c1 G' K0 i& ~7 \% [% t
過程有三個選項要使用者設定,不必修改,全部直接按 Enter 用預設值就好了。- K3 D& X2 b/ {. r
1. Enter file in which to save the key - 輸入金鑰的檔案路徑及名稱,預設是 ~/.ssh/id_rsa。
# [- s. J3 Y! r1 m2. Enter passphrase - 輸入自訂密碼。1 L& V9 c% s1 S
3. Enter same passphrase again - 再輸入一次自訂密碼。
$ C9 M+ d( ?- y9 W+ y! L' z5 W9 o. c3 R$ Y, u: [ `3 \
此時它就會產生 id_rsa 私鑰及 id_rsa.pub 公鑰。公鑰的內容,其實就只是一堆的加密過的文字而已。3 ^$ ?/ x. C' F& J
使用 scp 或 ftp 或你習慣的檔案傳輸工具將 Client 端的公鑰 ~/.ssh/id_rsa.pub 複製到 Server端裡,帳號假設也是user1,那麼就把公鑰存到 user1 的家目錄 ~。 * W/ M- z8 n; g
& t3 [( h) H/ o/ i2 L<2> 在 Server端加入剛剛Client端產生的公鑰:
, A* l" U$ |7 ~ z7 q# s2 r/ w" b x7 W" d
用SSH軟體,假設以Putty連到 Server端,user1登入後確認一下 Client 的公鑰 id_rsa.pub 已經被複製進來,如果家目錄沒有 .ssh 目錄就自行建立。
" U. y3 i' @" [# m* J) M9 V1 x' \把 .ssh 目錄的權限改成只有本人才可讀寫,這樣比較安全。
7 b# O% Y7 p `4 }8 o2 t1 Cchmod 700 ~/.ssh
* `) H" S8 B7 l! {0 r. r& k8 o7 s把剛剛複製過來的 Client 端公鑰,匯入到 Server端的授權清單(authorized_keys)裡。
, D8 l+ q; ^. H& I. l6 h" kcat ~/id_rsa.pub >> ~/.ssh/authorized_keys
9 Q2 d& W {2 R. E* z5 A
; k$ ^9 D) s5 H' [" C. `' O) U同樣把 authorized_keys 檔案的權限只有本人可讀寫,這樣比較安全。
% v8 u, e" K3 I8 a' l) z' Hchmod 600 ~/.ssh/authorized_keys
) b; a/ M1 I2 q9 P8 ?+ Q, J, z0 Z9 r6 ~. P @! Y- N* Q/ S" ^" }
$ Q8 c+ a% h, _" p# B- ?) D
7 f" T5 C2 k. I$ w2 `結果: x- d- _; }* X/ _* u6 ]
原本登入的時候,會詢問帳號跟密碼。將 Client 端的公鑰加到 Server端 的授權名單後,就可以直接登入不用帳號密碼了,是不是很方便,而且經過SSH加密傳輸更安全。& G* F. f$ \* P" ]1 h+ L" d/ ?
特別說明的是:上面的步驟只提供Client端的使用者user1免帳號密碼登入到Server端的使用者user1;如果Client端的使用者user1欲免帳號密碼登入到Server端的使用者root的話,步驟<2>的user1需換成root,即Server端須以root登入,其他動作都一樣6 p6 F7 J5 u% U
g3 O L$ Q% J9 t& P+ B/ f+ A! [
1 |1 H: L X/ N' S/ |5 d9 VP.S 至於從Windows 免密碼ssh(Secure shell)連到linux server,請參考 http://blog.itist.tw/2015/03/login-ssh-server-without-username-and-password.html, p2 k& o8 N$ e3 P% H2 E0 \- z
3 U3 C4 S" {$ @& R: P; W0 r
|
|