tid=88071& 本帖最後由 IT_man 於 2018-9-13 18:28 編輯 / y$ `1 [, z) o: Q$ ]
' M! P6 u* W0 H E2 ]
本篇主要介紹從linux client 免帳號密碼ssh(Secure shell)連到linux server之詳細過程。步驟:
" _4 l- P/ V. `9 f/ x
9 `( I- Y4 @/ H+ _7 Z- v3 m1 {<1> 在Client端產生Client金鑰:
! \' f) H$ M$ ~) J5 K8 h1 {5 z) z" A: `% |* e# H
假設在client端以使用者 user1 登入,家目錄的 .ssh 目錄裡,目前只有一個 known_hosts 檔案,這個是用來記錄曾經連線到別台的server的 SSH Server 公鑰。
" W: ?. I1 o+ m& N: S# S再來,產生一組這台client的 SSH 公鑰+私鑰,預設是使用 RSA 演算法 ==> ssh-keygen 指令 :9 e, p X& @2 S" k2 K) M$ k
2 _& @) Z5 I+ K. Y! f9 o
& p* M: U, Y( B% W( G5 u; u
& G" t4 X2 q3 M( V! r) D- ]+ X7 ^ Q3 q. j+ F
過程有三個選項要使用者設定,不必修改,全部直接按 Enter 用預設值就好了。
! u( q1 h4 C, N% i) L1. Enter file in which to save the key - 輸入金鑰的檔案路徑及名稱,預設是 ~/.ssh/id_rsa。
6 J9 e: {7 l' \5 @/ s3 @2. Enter passphrase - 輸入自訂密碼。
4 D, o) d3 V/ q1 M- @- `3. Enter same passphrase again - 再輸入一次自訂密碼。
/ t7 g/ d9 z8 W% o& ?
1 N6 I! \7 ?) \& z O此時它就會產生 id_rsa 私鑰及 id_rsa.pub 公鑰。公鑰的內容,其實就只是一堆的加密過的文字而已。- C! A, l( D$ x! }2 U+ A7 [
使用 scp 或 ftp 或你習慣的檔案傳輸工具將 Client 端的公鑰 ~/.ssh/id_rsa.pub 複製到 Server端裡,帳號假設也是user1,那麼就把公鑰存到 user1 的家目錄 ~。
: h+ m9 @6 K4 C X0 ^& Q* b0 U9 C& m$ s' ?) K: `& q! w& z0 |1 Q
<2> 在 Server端加入剛剛Client端產生的公鑰:
6 } n. i8 X3 x$ @: M( L# s# G1 b; K8 C+ ]3 Z/ D& i( B
用SSH軟體,假設以Putty連到 Server端,user1登入後確認一下 Client 的公鑰 id_rsa.pub 已經被複製進來,如果家目錄沒有 .ssh 目錄就自行建立。
3 c4 ~& y# p I0 T. X- c把 .ssh 目錄的權限改成只有本人才可讀寫,這樣比較安全。
( [9 l( \9 u# \8 F1 {% \+ rchmod 700 ~/.ssh: Z$ |1 V8 \4 ^$ d, |: Z
把剛剛複製過來的 Client 端公鑰,匯入到 Server端的授權清單(authorized_keys)裡。 4 ^' ?4 _! b' a- e
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
* v- h- G# J: ?+ ~4 e q, f2 H: k
% f( ~6 J1 `$ T6 }* ^/ W' R1 ]同樣把 authorized_keys 檔案的權限只有本人可讀寫,這樣比較安全。
4 Q6 K1 x: V8 Z9 J2 T4 I- i$ nchmod 600 ~/.ssh/authorized_keys
R; K! A n5 q0 s* q9 ]7 B
3 l$ z) s. K0 f1 M7 R
- k, [0 ]" r7 ~* H% Z: E
3 U2 d% l7 ~ O2 O結果:5 d- A8 ~( t+ J a* g C: o) S
原本登入的時候,會詢問帳號跟密碼。將 Client 端的公鑰加到 Server端 的授權名單後,就可以直接登入不用帳號密碼了,是不是很方便,而且經過SSH加密傳輸更安全。
# E0 j) G8 T4 t) S- g特別說明的是:上面的步驟只提供Client端的使用者user1免帳號密碼登入到Server端的使用者user1;如果Client端的使用者user1欲免帳號密碼登入到Server端的使用者root的話,步驟<2>的user1需換成root,即Server端須以root登入,其他動作都一樣
2 B( E0 C2 ~2 o1 J) R; }6 ]# H1 q D
4 t; `' k. S d1 V% ^P.S 至於從Windows 免密碼ssh(Secure shell)連到linux server,請參考 http://blog.itist.tw/2015/03/login-ssh-server-without-username-and-password.html3 V7 W1 J8 e* n& Y4 p
1 C+ Z8 e: d5 k W' a! H8 H$ g* Z
|