52AV手機A片王|52AV.ONE

標題: 免密碼直接登入遠端的 SSH Server [打印本頁]

作者: IT_man    時間: 2018-9-13 17:00
標題: 免密碼直接登入遠端的 SSH Server
本帖最後由 IT_man 於 2018-9-13 18:28 編輯
( z3 A2 A( D' j9 }# i: q; V9 E  ~9 r
本篇主要介紹從linux client 免帳號密碼ssh(Secure shell)連到linux server之詳細過程。步驟:
$ x; h+ O+ e/ [4 n" M+ u# X$ V  p" z0 ]- z" V
<1> 在Client端產生Client金鑰:
/ `- a9 h8 k& w3 c0 V5 {) I6 I! C# R7 p# e1 U
假設在client端以使用者 user1 登入,家目錄的 .ssh 目錄裡,目前只有一個 known_hosts 檔案,這個是用來記錄曾經連線到別台的server的 SSH Server 公鑰。
& f% X* h! }. P( r: L! A8 W0 t再來,產生一組這台client的 SSH 公鑰+私鑰,預設是使用 RSA 演算法 ==> ssh-keygen 指令 :
3 J" H9 Z) q- j  B
  R+ O& d  E, Y2 Y

, g9 r) x/ b# [" s: g2 ?9 x
: N1 N7 l) {- x. ~& \8 [3 y* K3 {, s7 G% p
過程有三個選項要使用者設定,不必修改,全部直接按 Enter 用預設值就好了。
% w3 z& R7 E/ I7 _* Z1. Enter file in which to save the key - 輸入金鑰的檔案路徑及名稱,預設是 ~/.ssh/id_rsa。* T& e4 G" D( x* L
2. Enter passphrase - 輸入自訂密碼。9 [# H  j# l& x4 y3 w
3. Enter same passphrase again - 再輸入一次自訂密碼。
/ J  d0 y; O4 d+ s' c
* A! h) b) Y2 Y: q, T  t& N此時它就會產生 id_rsa 私鑰及 id_rsa.pub 公鑰。公鑰的內容,其實就只是一堆的加密過的文字而已。
. f* j: u- x$ q( D& f5 \+ ?使用 scp 或 ftp 或你習慣的檔案傳輸工具將 Client 端的公鑰 ~/.ssh/id_rsa.pub 複製到 Server端裡,帳號假設也是user1,那麼就把公鑰存到 user1 的家目錄 ~。

3 ~" p% o$ o+ `6 x
$ b5 ^/ k! j  Z: s+ \<2> 在 Server端加入剛剛Client端產生的公鑰:
% C# m; a" {  ^. }) F

  A. H5 _% {. ~4 \用SSH軟體,假設以Putty連到 Server端,user1登入後確認一下 Client 的公鑰 id_rsa.pub 已經被複製進來,如果家目錄沒有 .ssh 目錄就自行建立。( H9 j$ h1 s% |# n/ I# N" x3 k
把 .ssh 目錄的權限改成只有本人才可讀寫,這樣比較安全。
( u8 L6 ~4 K$ ]" p' V% I3 u
chmod 700 ~/.ssh, X" d- J- e9 H( L1 Q& x3 G; T
把剛剛複製過來的 Client 端公鑰,匯入到 Server端的授權清單(authorized_keys)裡。
  i" z$ w( Q7 S6 U! ]; M. Ucat ~/id_rsa.pub >> ~/.ssh/authorized_keys
& T; Z* a: B/ L5 y) G5 q/ x6 t* l3 W+ D( @* h, n* X. \6 L  E
同樣把 authorized_keys 檔案的權限只有本人可讀寫,這樣比較安全。* I- ?+ C0 a2 s9 o
chmod 600 ~/.ssh/authorized_keys9 X8 S6 [5 t" D3 m% ^/ `7 r6 ~6 y7 b  m7 {
9 K5 I" b9 w, }: s+ k

; j; m9 e4 S  d. C" @! E
+ H* }! F4 Q9 @, ~6 @' k# `1 `
結果:
. Q! q7 Z) {# u) n& K3 {9 k$ [原本登入的時候,會詢問帳號跟密碼。將 Client 端的公鑰加到 Server端 的授權名單後,就可以直接登入不用帳號密碼了,是不是很方便,而且經過SSH加密傳輸更安全。; }; L7 j( }. q0 |& u% Y7 P
特別說明的是:上面的步驟只提供Client端的使用者user1免帳號密碼登入到Server端的使用者user1;如果Client端的使用者user1欲免帳號密碼登入到Server端的使用者root的話,步驟<2>的user1需換成root,即Server端須以root登入,其他動作都一樣$ k; G: c/ L, G* g

4 i* T, q6 ^3 D2 L  x$ ]
" w1 O7 ]+ z+ b; z& U8 ?' ?9 X3 q
P.S 至於從Windows 免密碼ssh(Secure shell)連到linux server,請參考 http://blog.itist.tw/2015/03/login-ssh-server-without-username-and-password.html, t3 u' b0 v( @' }' e$ c

0 a! A/ `: K& z9 B" h( n
作者: aaa500600    時間: 2020-8-24 23:32
完全看不懂
作者: malajisi    時間: 2022-4-25 09:54
虽然看不懂,但是很厉害
作者: mayboypvp    時間: 2022-5-12 14:23
推, 簡單教學, 易懂
作者: okba    時間: 2022-6-8 22:37
这是干嘛的




歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/) Powered by Discuz! X3.2