本帖最後由 IT_man 於 2018-9-13 18:28 編輯 8 w; F% q/ p6 P/ l
7 P& b ]6 R1 J2 C9 V6 F
本篇主要介紹從linux client 免帳號密碼ssh(Secure shell)連到linux server之詳細過程。步驟:3 F( h( n) P1 a" C& F3 B \
5 O8 F+ [+ \' s2 J( n T
<1> 在Client端產生Client金鑰:
8 g3 `1 |2 I/ ?' y9 ?8 U7 X9 M$ ^! E& ]6 s5 H: a+ X1 q
假設在client端以使用者 user1 登入,家目錄的 .ssh 目錄裡,目前只有一個 known_hosts 檔案,這個是用來記錄曾經連線到別台的server的 SSH Server 公鑰。
3 p+ r, T: N8 d* `( _/ T" ^再來,產生一組這台client的 SSH 公鑰+私鑰,預設是使用 RSA 演算法 ==> ssh-keygen 指令 :
^$ [% I9 v* d3 ?! K
. v& N* g# @% d; _" U3 H
4 O# W: N; B# E- B1 I a' Q
* o3 @# G- r3 t
( g2 S# k+ Y _. L4 L$ P2 n
過程有三個選項要使用者設定,不必修改,全部直接按 Enter 用預設值就好了。
t' y* ?. h2 y6 C9 P, v" X1. Enter file in which to save the key - 輸入金鑰的檔案路徑及名稱,預設是 ~/.ssh/id_rsa。' x' j* p1 @% w! V7 H
2. Enter passphrase - 輸入自訂密碼。
) Q; H8 `- d; d3 E3. Enter same passphrase again - 再輸入一次自訂密碼。
& Z1 a1 U9 B2 t7 d5 M% ]: p
1 m/ E h# Q7 O6 a2 O( ]此時它就會產生 id_rsa 私鑰及 id_rsa.pub 公鑰。公鑰的內容,其實就只是一堆的加密過的文字而已。
" M. L( w! q! j9 C' a使用 scp 或 ftp 或你習慣的檔案傳輸工具將 Client 端的公鑰 ~/.ssh/id_rsa.pub 複製到 Server端裡,帳號假設也是user1,那麼就把公鑰存到 user1 的家目錄 ~。
+ Y, {# i4 l, @( l6 D/ E
# x' K1 Z, k; d8 N9 x: W# T<2> 在 Server端加入剛剛Client端產生的公鑰:
9 H% d8 C+ C1 g8 c& f! b7 i0 l5 f" L# P0 S4 Y5 i3 x1 g+ S
用SSH軟體,假設以Putty連到 Server端,user1登入後確認一下 Client 的公鑰 id_rsa.pub 已經被複製進來,如果家目錄沒有 .ssh 目錄就自行建立。
3 o2 h2 A- e3 `+ ^0 J把 .ssh 目錄的權限改成只有本人才可讀寫,這樣比較安全。( ^( D2 p1 R# @3 v }
chmod 700 ~/.ssh; i7 `$ ]. \0 d, a* s2 l% p/ p; `5 |
把剛剛複製過來的 Client 端公鑰,匯入到 Server端的授權清單(authorized_keys)裡。
( U3 l) l3 T& s) O! {, e; scat ~/id_rsa.pub >> ~/.ssh/authorized_keys% s. s7 g+ k, z
% v& U: F5 m. e同樣把 authorized_keys 檔案的權限只有本人可讀寫,這樣比較安全。
/ X* w$ F$ O( B+ k+ Uchmod 600 ~/.ssh/authorized_keys' V& O- s) C+ j, C6 A" Q+ l+ k7 U4 F) ^( {
$ O) g7 b* B. P2 Q$ ], J( {/ m
9 F: |* L, w& U% ~1 @& t4 {
& e$ S3 {! z1 _! }3 M結果:: v" l1 R& z! x" u
原本登入的時候,會詢問帳號跟密碼。將 Client 端的公鑰加到 Server端 的授權名單後,就可以直接登入不用帳號密碼了,是不是很方便,而且經過SSH加密傳輸更安全。
* z/ p0 q7 O% X! _0 ~特別說明的是:上面的步驟只提供Client端的使用者user1免帳號密碼登入到Server端的使用者user1;如果Client端的使用者user1欲免帳號密碼登入到Server端的使用者root的話,步驟<2>的user1需換成root,即Server端須以root登入,其他動作都一樣
! f" s- V+ [7 j2 N r! R X" Q: G& G. [( u# t
$ w; K- ~2 D! I4 z2 o
P.S 至於從Windows 免密碼ssh(Secure shell)連到linux server,請參考 http://blog.itist.tw/2015/03/login-ssh-server-without-username-and-password.html
4 L' l# f0 z1 ?4 ^6 q, U% D4 A+ ]* G9 l6 D9 K6 E5 k, A2 ]3 s
|
|