SSH(Secure SHell)使用

來源:互聯網
上載者:User

    • SSH(Secure SHell)使用
      • 1. 什麼是SSH?
      • 2. SSH是如何工作的?
      • 3. 為什麼要採用第二種方法登入?
      • 4. 本機Win 7和Virtual box虛擬機器ubuntu之間的實驗
        • 4.1 進行ssh的密碼口令串連
        • 4.2 進行ssh的密鑰串連-在Win 7下製作密鑰
          • 4.2.1 使用puttygen製作密鑰
          • 4.2.2 修改ubuntu系統中openssh的配置
          • 4.2.3 拷貝公開金鑰資訊到ubuntu的特定檔案中
          • 4.2.4 使用putty進行密鑰登入
        • 4.3 進行ssh的密鑰串連-在Ubuntu下製作密鑰
          • 4.3.1 在Linux下產生密鑰
          • 4.3.2 把公開金鑰寫入authorized_keys檔案中
          • 4.3.3 產生putty私密金鑰
          • 4.3.4 使用putty進行密鑰登入
SSH(Secure SHell)使用1. 什麼是SSH?

傳統的網路服務程式,如ftp,pop和telnet在本質上是不安全的,因為它們使用明文傳送口令和資料,很容易被冒充真正伺服器的中間人修改通訊資料,影響你的正常通訊。 SSH可以對你的資料進行加密,所以可以防止"中間人"攻擊,DNS和IP欺騙,還一個好處是它對傳輸資料進行了壓縮,可以加快傳輸的速度。 現在一般使用的是OpenSSH 2.X,免費,而且同時支援1.x和2.x的版本。2. SSH是如何工作的?從用戶端來看,SSH提供兩種層級的安全驗證:1. 基於口令的安全驗證,只要知道自己的帳號和密碼就可以登入遠端主機,資料也都是加密的,但不能確定的是正在已連線的服務器是不是你想到登入的伺服器,也有可能受到"中間人"的攻擊 2. 基於密匙的安全驗證,需要自己建立一對密匙,並把公用密匙放在伺服器上。如果你需要串連到SSH伺服器上,用戶端就會向伺服器端發出請求,請求用你的密匙進行安全驗證。伺服器收到請求之後,先在伺服器上找到公用密匙,再用這個密匙和你發送過來的進行比對。如果兩個密匙一致,伺服器就用公用密匙加密"質詢"(challenge)並把它發送給用戶端。用戶端軟體收到質詢之後再用你的私人密匙進行解密再把它發給伺服器。 第二種方式更安全,資料加密,但登入時間可以比較長。 3. 為什麼要採用第二種方法登入?採用密碼登入的缺點:a)使用者無法設定空密碼(即使系統允許空密碼,也會十分危險)b)密碼容易被人偷窺或猜到c)伺服器上的一個帳戶若要給多人使用,則必須讓所有使用者都知道密碼,導緻密碼容易泄露,而且修改密碼時必須通知所有人 而採用公開金鑰可以解決以上問題:a)公開金鑰認證允許使用空密碼,省去每次登入都需要輸入密碼的麻煩b)多個使用者可以通過各自的密鑰登入到系統上的同一個使用者c)即使修改了對應使用者的密碼,也不會影響登陸d)若同時禁用密碼認證,則只要保證私密金鑰的安全,不會受到暴力破解的威脅4. 本機Win 7和Virtual box虛擬機器ubuntu之間的實驗4.1 進行ssh的密碼口令串連1. 需要在VB中設定串連方式由NAT改為Bridge 2. 使用"sudo apt-get install openssh-server"幫Ubuntu安裝ssh伺服器,使用"sudo service ssh start"啟動ssh服務 可以使用命令ps -e|grep ssh來查看是否成功啟動 如果沒有啟動,可以使用命令sudo /etc/init.d/ssh start啟動服務 3. 在Windows即主機中使用Putty登入Ubuntu,輸入Ubuntu的ip地址即可,其他預設。putty的:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html  4. 輸入使用者名稱和密碼就可以遠程登入ubuntu了 4.2 進行ssh的密鑰串連-在Win 7下製作密鑰4.2.1 使用puttygen製作密鑰密鑰包括私密金鑰和公開金鑰。
:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html啟動puttygen,為了相容openssh密鑰,選擇"SSH2 RSA",點擊Generate,並在視窗的空白地區隨意移動滑鼠以獲得產生密鑰的隨機資料,直到進度條結束為止。 完成效果為: 輸入key passphrase和confirm passphrase,類似私密金鑰密碼,點擊"Save private key"。公開金鑰資訊在上面的文字框中,等下需要複製到ubuntu系統的特定檔案中。 可以看到私密金鑰的儲存內容包含了公開金鑰和私密金鑰。4.2.2 修改ubuntu系統中openssh的配置修改/etc/ssh/sshd_config:PermitRootLogin no  # 禁止root使用者登陸StrictModes yes  # 檢查密鑰的使用者和許可權是否正確,需要是authorized_keys檔案一定為644許可權,預設是開啟的RSAAuthentication yes        # 啟用 RSA 認證AuthorizedKeysFile     .ssh/authorized_keys   # 驗證公開金鑰的存放路徑PubkeyAuthentication yes     # 啟用公開金鑰認證PasswordAuthentication no    # 禁止密碼認證,只能進行密鑰串連,預設是開啟的。ChallengeResponseAuthentication no  #關閉挑戰應答方式UsePAM no  #不使用PAM認證以上參數可以根據需要進行調整。 然後重啟sshd服務: sudo /etc/init.d/ssh stopsudo /etc/init.d/ssh start或者直接:sudo /etc/init.d/ssh restart4.2.3 拷貝公開金鑰資訊到ubuntu的特定檔案中 在之前的視窗中,拷貝公開金鑰內容,並寫入~/.ssh/authroized_keys檔案下  如果沒有.ssh目錄和authroized_keys檔案,需要自己建立,並且要修改目錄和檔案的許可權>mkdir ~/.ssh>chmod 700 ~/.ssh>emacs ~/.ssh/authorized_keys>chmod 644 ~/.ssh/authorized_keys 644許可權代表別人不能對此檔案進行寫操作,用來保護別人不能隨意把他的公開金鑰寫進去。4.2.4 使用putty進行密鑰登入在Connection->SSH->Auth中選擇私密金鑰檔案: 在Connection->Data中寫入你的登入時用的使用者名稱 也要在Session那寫在ubuntu系統的IP,再點擊open按鈕。這個時候,需要輸入passphrase密碼,也就是私密金鑰密碼。這個密碼的作用是保護私密金鑰檔案,就算別人得到你的私密金鑰檔案,沒有這個密碼也不能進行登入。4.3 進行ssh的密鑰串連-在Ubuntu下製作密鑰4.3.1 在Linux下產生密鑰在命令列下運行:> ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/compilers/.ssh/id_rsa):  #輸入私密金鑰儲存地址Enter passphrase (empty for no passphrase):  #輸入私密金鑰密碼Enter same passphrase again:  #確認密碼Your identification has been saved in /home/compilers/.ssh/id_rsa.Your public key has been saved in /home/compilers/.ssh/id_rsa.pub.The key fingerprint is:e7:f6:98:57:f0:d9:93:54:30:76:9f:10:09:c0:f8:b9 compilers@compilers-vmThe key's randomart image is:+--[ RSA 2048]----+|        o....o*..||       . .   o.o+||        . .    .o||         o  .  . ||        S o  o.o.||         E    +o.||          o  .  .||         . +.    ||          o..    |+-----------------+4.3.2 把公開金鑰寫入authorized_keys檔案中> cd ~/.ssh> cat id_rsa.pub >> quthorized_keys #需要換行加入新的內容4.3.3 產生putty私密金鑰1. 把id_rsa傳到windows系統上。2. 使用puttygen的"Load private key"讀取id_rsa檔案,並輸入私密金鑰密碼: 文字框裡的內容應該和id_rsa.pub中的一致。點擊"Save private key"儲存私密金鑰。4.3.4 使用putty進行密鑰登入那就是和之前一樣的操作:  

通過 為知筆記 發布

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.