LINUX中RSA認證登入SSH

來源:互聯網
上載者:User

   方法一,

  有的時候經常需要登入ssh,每次都需要輸入密碼,會比較繁瑣。所以設定了一下使用RSA公開金鑰認證的方式登入Linux。

  首先需要在伺服器端設定/etc/ssh/sshd_config

  # vim /etc/ssh/sshd_config

  修改如下兩行為yes。其實大多數情況下不用修改,預設就是yes。

  RSAAuthentication yes

  PubkeyAuthentication yes

  (1) 如果客戶機和伺服器都是Linux機器,那麼我們使用下面的方法:(後面第2節會提到怎麼在Windows下使用Putty產生金鑰組)

  我們需要在用戶端產生RSA金鑰組。使用ssh-keygen命令:

  # ssh-keygen -t rsa

  參數t的意思是type,後面跟著加密類型,這裡我們是rsa。

  然後會提示你輸入密鑰儲存完成檔案名稱,這裡我們需要使用預設的id_rsa,之後才能正常才能登入。如果你產生的密鑰作為其他用處,那麼可以命名為其他名稱:

  Generating public/private rsa key pair.

  Enter file in which to save the key (/home/cake/.ssh/id_rsa):

  之後會提示你輸入一個passphrase,我們這裡可以留空,這樣我們登入的時候就不許輸入密碼。

  Enter passphrase (empty for no passphrase):

  Enter same passphrase again:

  然後會提示你密鑰產生成功。這是你的私密金鑰儲存為~/.ssh/id_rsa,你的公開金鑰是~/.ssh/id_rsa.pub

  我們現在需要做的是,把id_rsa.pub的內容,添加的伺服器端的~/.ssh/autherized_keys檔案最後。

  你可以把這個檔案上傳到伺服器端,然後使用命令:

  # cat id_rsa.pub >> ~/.ssh/autherized_keys

  到這裡就完成了。

  (2) 在Windows下使用Putty產生金鑰組:

  Putty的安裝目錄下有個puttygen.exe程式,我們運行這個程式。

  之後點擊Generate,開始產生金鑰組。我們需要根據提示,在指定方框內隨機滑動滑鼠。這是為了根據滑鼠軌跡,產生一些隨機資料。

  之後產生結束,我們點擊Save Private Key將私密金鑰存放在某個目錄中。然後賦值最上面文字框中的全部內容,粘貼到Linux伺服器端的autherized_key的最後。

  我們現在可以關閉這個小程式。

  現在開啟Putty,在左邊的選項中,選擇Conneciton–SSH–Auth,在Private key file for authentication中,選擇剛才儲存的私密金鑰路徑就可以了。

  到此位置,Putty也可以不用密碼登入了。

  方法二

  使用Linux主機產生的密匙

  1、產生密匙

  [root@www.111cn.net .ssh]#ssh-keygen -t rsa

  Generating public/private rsa key pair.

  Enter file in which to save the key (/root/.ssh/id_rsa):

  Enter passphrase (empty for no passphrase):

  Enter same passphrase again:

  Your identification has been saved in /root/.ssh/id_rsa.

  Your public key has been saved in /root/.ssh/id_rsa.pub.

  The key fingerprint is:

  e4:9a:47:a7:b4:8a:0b:98:07:b8:70:de:6b:16:2c:0croot@www.111cn.net

  2、將 /root/.ssh/id_rsa.pub改名為/root/.ssh/authorized_keys

  [root@www.111cn.net .ssh]#mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

  3、將私密金鑰id_rsa拷貝到遠程用戶端

  1)、如果遠程用戶端是linux,拷貝到遠程用戶端/root/.ssh/即可

  2)、putty作為遠程用戶端在

  putty不能識別直接從伺服器拷貝來的私密金鑰,需要使用puttygen.exe進行格式轉換

  (1)、開啟puttygen.exe --> Conversions --> Import Key

  (2)、選擇拷貝過來的私密金鑰檔案id_rsa

  (3)、Save private key->id_rsa.ppk(儲存私密金鑰)

  4、開啟putty.exe

  1)、Session --> Host Name (填寫伺服器位址或者網域名稱)

  2)、Connection --> SSH --> Auth (點Browse選擇剛產生的id_rsa.ppk)

  3)、open

  成功開啟後出現如下提示:

  login as: root

  Authenticating with public key "imported-openssh-key"

  ----------------------------------------------------------------------------------

  當然你有可能會遇到這個錯誤 [因為我遇到了,呵呵]:

  Permissions 0755 for '你配置的公開金鑰檔案路徑' are too open.

  這個是因為這幾個檔案使用權限設定的有點問題

  執行命令: chmod 600 你的檔案

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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