本帖最後由 IT_man 於 2018-9-13 18:28 編輯
: C8 i. i; F4 U8 N7 X9 {# `
" n4 G" c$ `+ O) M- L( Q% T本篇主要介紹從linux client 免帳號密碼ssh(Secure shell)連到linux server之詳細過程。步驟:
$ O( a- R' Y: h X( w% e
- v* y; l- ^( b1 Y H- D<1> 在Client端產生Client金鑰:
h* z/ I. l" ~; ?: `( o2 o% `8 N$ b- D3 D
假設在client端以使用者 user1 登入,家目錄的 .ssh 目錄裡,目前只有一個 known_hosts 檔案,這個是用來記錄曾經連線到別台的server的 SSH Server 公鑰。
- m i2 u; |8 P再來,產生一組這台client的 SSH 公鑰+私鑰,預設是使用 RSA 演算法 ==> ssh-keygen 指令 :
9 B' n, R$ x9 l ^) _7 I1 e) Y2 M9 z8 r7 _1 Y; `1 M
4 C4 o6 P* B. @# |9 D
4 C/ b, N8 J$ u- t4 X/ F
* U) j- D; d1 K4 ]* K3 E過程有三個選項要使用者設定,不必修改,全部直接按 Enter 用預設值就好了。
* L' S! P0 G5 [! ?1. Enter file in which to save the key - 輸入金鑰的檔案路徑及名稱,預設是 ~/.ssh/id_rsa。
# n& R9 v: G2 V9 W! I! b2. Enter passphrase - 輸入自訂密碼。) X# ]+ a/ {+ p$ M4 ?5 a& N* |& \
3. Enter same passphrase again - 再輸入一次自訂密碼。) w- J, \' [. e& h. t3 p5 G5 D. [
" q$ L- v% M/ O此時它就會產生 id_rsa 私鑰及 id_rsa.pub 公鑰。公鑰的內容,其實就只是一堆的加密過的文字而已。7 ^( k5 Q3 B4 M. A" @! _) E
使用 scp 或 ftp 或你習慣的檔案傳輸工具將 Client 端的公鑰 ~/.ssh/id_rsa.pub 複製到 Server端裡,帳號假設也是user1,那麼就把公鑰存到 user1 的家目錄 ~。 7 d; b0 i, P5 ^
' ^- H1 h+ E0 R1 z<2> 在 Server端加入剛剛Client端產生的公鑰:
% W" e* K% P4 u& W6 A; d9 _/ u5 a% l' G# _1 e$ k- n
用SSH軟體,假設以Putty連到 Server端,user1登入後確認一下 Client 的公鑰 id_rsa.pub 已經被複製進來,如果家目錄沒有 .ssh 目錄就自行建立。
; f% B/ F7 q3 M5 c; H2 ~! \1 G; @把 .ssh 目錄的權限改成只有本人才可讀寫,這樣比較安全。3 l V# c% ~9 y- N$ u
chmod 700 ~/.ssh( ^7 g2 e- |* `
把剛剛複製過來的 Client 端公鑰,匯入到 Server端的授權清單(authorized_keys)裡。 * g6 j- r# E6 x) K
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys; m( v( J e4 X$ I) G0 A
a! Y: C+ Y" C/ D
同樣把 authorized_keys 檔案的權限只有本人可讀寫,這樣比較安全。. Y2 v: v1 C2 q4 B9 i* p
chmod 600 ~/.ssh/authorized_keys
# J4 t7 A5 M0 v! `7 O- f6 x: T. X$ b$ g. D* [1 _9 Z6 K6 \
2 k& E$ x/ P2 a( w, ^1 @
0 L* q& x0 g5 v5 ^. n* [結果:! [( f+ _: F' d5 M, L
原本登入的時候,會詢問帳號跟密碼。將 Client 端的公鑰加到 Server端 的授權名單後,就可以直接登入不用帳號密碼了,是不是很方便,而且經過SSH加密傳輸更安全。
3 x% K2 z. Z. |% D& x( S$ t' ?特別說明的是:上面的步驟只提供Client端的使用者user1免帳號密碼登入到Server端的使用者user1;如果Client端的使用者user1欲免帳號密碼登入到Server端的使用者root的話,步驟<2>的user1需換成root,即Server端須以root登入,其他動作都一樣+ N8 h/ v1 P0 K0 A/ O
" T, P P4 {8 L# C& m: P, }
: f2 v& A; \" I* [- O
P.S 至於從Windows 免密碼ssh(Secure shell)連到linux server,請參考 http://blog.itist.tw/2015/03/login-ssh-server-without-username-and-password.html" L; o* n8 _8 E5 W& g, d
! n' q! f/ h# s; L4 i+ g$ e
|
|