本帖最後由 IT_man 於 2018-9-13 18:28 編輯 L; A3 U% N/ O5 c# w. ]% I9 i
7 c1 B& r4 a1 Z' W$ h: }7 _, [
本篇主要介紹從linux client 免帳號密碼ssh(Secure shell)連到linux server之詳細過程。步驟:7 U, T* T5 p/ c5 J( ?% ^/ U
& ?% I4 s; U7 ~8 B1 S
<1> 在Client端產生Client金鑰:% F T$ C( v9 b+ H: \
- s C2 [5 A( d. U; r
假設在client端以使用者 user1 登入,家目錄的 .ssh 目錄裡,目前只有一個 known_hosts 檔案,這個是用來記錄曾經連線到別台的server的 SSH Server 公鑰。% M9 j5 u# i6 g! K' B
再來,產生一組這台client的 SSH 公鑰+私鑰,預設是使用 RSA 演算法 ==> ssh-keygen 指令 :* K3 c8 S! A) v( V( l h
/ ?8 e9 G1 l0 K. O8 S
8 ~2 R' P% ~* h6 v7 M
6 t6 Y& A$ O4 n! p8 l7 l# U' d8 d' K- w6 e/ Q* k9 \
過程有三個選項要使用者設定,不必修改,全部直接按 Enter 用預設值就好了。
" U5 q9 T& {0 Y' _# s T; q1. Enter file in which to save the key - 輸入金鑰的檔案路徑及名稱,預設是 ~/.ssh/id_rsa。: a) A/ l5 F: d! U) d) f
2. Enter passphrase - 輸入自訂密碼。
! [( U9 x: c" E( W3 w0 I4 F3. Enter same passphrase again - 再輸入一次自訂密碼。
9 u" O: J/ `- _. s
' f( U: k& J# j, e, K此時它就會產生 id_rsa 私鑰及 id_rsa.pub 公鑰。公鑰的內容,其實就只是一堆的加密過的文字而已。3 F* J" e9 Y( u) o4 [: H
使用 scp 或 ftp 或你習慣的檔案傳輸工具將 Client 端的公鑰 ~/.ssh/id_rsa.pub 複製到 Server端裡,帳號假設也是user1,那麼就把公鑰存到 user1 的家目錄 ~。
- |+ n2 o5 }' c4 O9 D4 k; |: o( o2 f% Z J6 A, i* B' Z
<2> 在 Server端加入剛剛Client端產生的公鑰:
3 U! n& ^/ o* U" n* F! N( v2 z6 e4 I9 X# k1 S# z- D
用SSH軟體,假設以Putty連到 Server端,user1登入後確認一下 Client 的公鑰 id_rsa.pub 已經被複製進來,如果家目錄沒有 .ssh 目錄就自行建立。( }9 ^4 p8 P/ J* N( I/ G# s
把 .ssh 目錄的權限改成只有本人才可讀寫,這樣比較安全。/ e4 |+ ^) f& f- S. ^: J
chmod 700 ~/.ssh
( m1 ~6 W E% B9 V. h& i把剛剛複製過來的 Client 端公鑰,匯入到 Server端的授權清單(authorized_keys)裡。 ' a& V$ g t8 C* O$ }6 c
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys. H1 e9 g& E! w. m; l" Q% m- C9 ^
. a) g' v; b) p. X! T
同樣把 authorized_keys 檔案的權限只有本人可讀寫,這樣比較安全。
K' C; w& U5 ^7 x2 Q9 kchmod 600 ~/.ssh/authorized_keys+ Q, O6 y* U9 y7 \6 P( P
2 F- t: [# v' `& n
. d ~- w3 A! R' \& m$ w+ A
' i4 L. r5 I2 C結果:
4 n$ g; [0 c# y0 r, D# K原本登入的時候,會詢問帳號跟密碼。將 Client 端的公鑰加到 Server端 的授權名單後,就可以直接登入不用帳號密碼了,是不是很方便,而且經過SSH加密傳輸更安全。$ h$ y5 \' T( X9 |3 Z( ?
特別說明的是:上面的步驟只提供Client端的使用者user1免帳號密碼登入到Server端的使用者user1;如果Client端的使用者user1欲免帳號密碼登入到Server端的使用者root的話,步驟<2>的user1需換成root,即Server端須以root登入,其他動作都一樣
/ D, {) |9 L5 l8 a8 q/ y0 p8 @! w0 \0 Y* o" Q# h
; O: R& l1 H* F2 L& k/ k& e8 Q" S
P.S 至於從Windows 免密碼ssh(Secure shell)連到linux server,請參考 http://blog.itist.tw/2015/03/login-ssh-server-without-username-and-password.html
( f2 |* [! o2 w# d3 Q# ]9 L4 d p. o W3 g- X/ `% A5 F9 W
|
|