歡迎您光臨本站 註冊首頁

ssh 公匙與私匙

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

從客戶端來看,SSH提供兩種級別的安全驗證.

  1. 第一種級別(基於口令的安全驗證)
  2.   只要你知道自己帳號和口令,就可以登錄到遠程主機.所有傳輸的數據都會被加密, 但是不能保證你正在連接的伺服器就是你想連接的伺服器.可能會有別的伺服器在冒充真正的伺服器, 也就是受到“中間人”這種方式的攻擊.   
  3. 第二種級別(基於密匙的安全驗證)
  4.   需要依靠密匙,也就是你為自己創建一對密匙,並把公用密匙放在需要訪問的伺服器上. 如果你要連接到SSH伺服器上,客戶端軟體就會向伺服器發出請求,請求用你的密匙進行安全驗證.伺服器收到請求之後, 先在該伺服器上你的主目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較.如果兩個密匙一致, 伺服器就用公用密匙加密“質詢”(challenge)並把它發送給客戶端軟體. 客戶端軟體收到“質詢”之後就可以用你的私人密匙解密再把它發送給伺服器.   用這種方式,你知道自己密匙的口令.但是,與第一種級別相比,第二種級別不需要在網路上傳送口令.   第二種級別不僅加密所有傳送的數據,“中間人”這種攻擊方式也是不可能的(他沒有你的私人密匙). 但是整個登錄的過程可能需要10秒

ssh採用的是不對稱加密方式傳輸,分一個公匙和一個私匙
公匙用來加密 私匙用來解密,私匙放在client,公匙放在 server !
~/.ssh/authorized_keys

-其他機器生成的公匙放在,ssh伺服器的宿主目錄下!比如/home/dn/ 下,名字authorized_keys

RSA 與 DSA 加密演算法的區別

  1. RSA,是一種加密演算法(PS:RSA也可以進行數字簽名的),它的簡寫的來由是Ron Rivest、Adi Shamir和 Leonard Adleman這三個人名字的第一個字母連接起來就是RSA.
  2. DSA就是數字簽名演算法的英文全稱的簡寫,即Digital Signature Algorithm,簡寫就是DSA,
  3. RSA既可以進行加密,也可以進行數字簽名實現認證,而DSA只能用於數字簽名從而實現認證

選擇 rsa 演算法即可,以下是具體步驟!

ssh-keygen -t rsa 之後一直回車

  1. $ ssh-keygen –t rsa
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/home/dn/.ssh/id_rsa):
  4. Enter passphrase (empty for no passphrase): <---按enter
  5. Enter same passphrase again: <---按enter
  6. Your identification has been saved in /home/dn/.ssh/id_rsa.
  7. Your public key has been saved in /home/dn/.ssh/id_rsa.pub.
  8. The key fingerprint is:
  9. e8:8a:5e:ae:c7:13:45:d0:81:cd:3f:e6:1e:f8:88:5a root@localhost.localdomain

生成私匙 id_rsa 與 公匙 id_rsa.pub 配置文件

  1. $ ll
  2. 總計 20
  3. -rw------- 1 dn dn 1675 Nov 25 11:07 id_rsa
  4. -rw-r--r-- 1 dn dn 407 Nov 25 11:07 id_rsa.pub
  5. -rw-r--r-- 1 dn dn 9086 Nov 24 14:54 known_hosts

把公匙文件上傳到ssh 伺服器的宿主目錄下,以下兩條命令任選一個即可!

  1. $ cat ~/.ssh/id_rsa.pub | ssh dn@www9 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat - >~/.ssh/authorized_keys && chmod 644 ~/.ssh/authorized_keys"
  2.    $ ssh_copy_id -i ~/.ssh/id_rsa.pub dn@www9
    

測試

  1. $ ssh www9
  2. The authenticity of host 'www9 (10.100.100.9)' can't be established.
  3. RSA key fingerprint is a3:29:76:03:8c:43:4d:1b:45:52:6e:d9:d5:fd:1e:aa.
  4. Are you sure you want to continue connecting (yes/no)? yes
  5. Warning: Permanently added 'space9,10.100.100.9' (RSA) to the list of known hosts.
  6. Last login: Fri Nov 25 11:47:33 2011 from 10.100.100.1

擴展

shell 腳本, 批量上傳ssh id_rsa.pub 公匙

結束

參考文檔

本文出自 「dongnan」 博客,請務必保留此出處http://dngood.blog.51cto.com/446195/724207


[火星人 ] ssh 公匙與私匙已經有402次圍觀

http://coctec.com/docs/linux/show-post-45964.html