Linux命令之遠程登入/無密碼登入-ssh,ssh-keygen,ssh-copy-id

來源:互聯網
上載者:User

SSH是一種安全通道協議,主要用來遠程登入。在RHEL 5系統中使用的是OpenSSH伺服器由openssh, openssh-server等軟體包提供的(預設已經安裝),並以將sshd添加為標準的系統服務。使用方法如下:

$ ssh host

$ ssh username@host

$ ssh -p 222 username@host

-p:指定訪問連接埠;如果省略該參數,則預設訪問SSH服務的預設連接埠22;

如果是第一次登入對方主機,則系統會出現一下提示:

The authenticity of host 'host(192.168.0.21)' can't be established.

RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.

Are you sure you want to continue connecting (yes/no)?

這段話是說,無法確認host主機的真實性,只知道它的公開金鑰指紋,問你還想繼續串連嗎?

輸入yes之後,系統會出現一句提示,表示host主機已經得到認可。

Warning: Permanently added 'host,192.168.0.21' (RSA) to the list of known hosts.

然後要求輸入秘密:

$ Password: (enter password)

此時,如果秘密正確,就可以登入了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在信任環境下,如果每次遠程登入時,都要輸入密碼,感覺太浪費時間了,尤其是密碼很複雜、 維護的伺服器比較多的情況下。

於是有了正常需求:不用輸入密碼即可實現遠程登入。

實現步驟如下:

1、本地產生一對秘鑰檔案(公開金鑰和私密金鑰);

$ ssh-keygen

#以上命令等價於 ssh-keygen -t rsa

#-t:指定密鑰的類型,預設為SSH-2 的rsa類型;

運行上面的命令後,系統會出現一系列提示,可以一路斷行符號。特別說明,其中有一個問 題是,要不要對私密金鑰設定口令(passphrase),如果擔心私密金鑰的安全,可以設定一個。運 行結束以後,會在 ~/.ssh/ 目錄下新產生兩個檔案:id_rsa.pubid_rsa。前者公開金鑰,後者是私密金鑰。

2、將公開金鑰傳送到遠程主機host上面;

$ ssh-copy-id user@host

經過以上兩步之後,就可以實現無密碼遠程登入了(遠程主機將使用者的公開金鑰儲存在~/.ssh/authorized_keys 檔案中)。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

常見問題:

1、產生密鑰並上傳至遠程主機後,仍然無法實現無密碼登入?

開啟遠程主機的 /etc/ssh/sshd_config 這個檔案,以下幾行取消注釋。

#RSAAuthentication=yes

#PubkeyAuthentication=yes

#AuthorizedKeysFile=.ssh/authorized_keys

然後,重啟遠程主機的ssh服務。

#ubuntu系統

$ service ssh restart

#debian系統

$ /etc/init.d/ssh restart

2、執行ssh-copy-id 命令時,遠程伺服器的SSH服務連接埠不是22,如下:

$ ssh-copy-id nameB@machineB

ssh: connect to host machineB port 22: Connection refused

則使用如下命令:

$ ssh-copy-id "-p 22000 nameB@machineB"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.