如何無需密碼進(jìn)行SSH連接
作者:Unmi
這個(gè)簡單的教程講解了如何無需輸入密碼 SSH 連接到遠(yuǎn)程機(jī)器。在你需頻繁的登陸到同一機(jī)器,而又不得不一次次輸入密碼時(shí)就可以使用這一技術(shù)。這也很適于這樣的場景:當(dāng)你有一個(gè)腳本需要通過 SSH 從遠(yuǎn)程機(jī)器取文件或者在遠(yuǎn)程機(jī)器上執(zhí)行一個(gè)任務(wù),并且希望能自動(dòng)的運(yùn)行該腳本,而用不著人工去輸入一個(gè)密碼。
這個(gè)簡單的教程講解了如何無需輸入密碼 SSH 連接到遠(yuǎn)程機(jī)器。在你需頻繁的登陸到同一機(jī)器,而又不得不一次次輸入密碼時(shí)就可以使用這一技術(shù)。這也很適于這樣的場景:當(dāng)你有一個(gè)腳本需要通過 SSH 從遠(yuǎn)程機(jī)器取文件或者在遠(yuǎn)程機(jī)器上執(zhí)行一個(gè)任務(wù),并且希望能自動(dòng)的運(yùn)行該腳本,而用不著人工去輸入一個(gè)密碼。
這些指令在 Linux 和 Mac 下能正常工作。你可以在 Windows 下參照同樣的方法來使用 Putty,但是我這里沒有針對具體 Putty 指令作描述。
目標(biāo):從本機(jī)登陸到遠(yuǎn)程服務(wù)器無需輸入密碼
步驟 1/2:在本機(jī)上:生成認(rèn)證碼
認(rèn)證碼是一個(gè)私鑰公鑰對。你的公鑰也是一個(gè) 2-3 行的長長看不懂東西。公鑰就像是你登錄后的***標(biāo)識(shí)。私鑰就像是你的密碼,但比一個(gè)規(guī)則的密碼要長。你可以通過如下命令來產(chǎn)生你的公鑰和私鑰:
接受默認(rèn)的選擇。按回車鍵。
回車兩次。密鑰(passphrase) 是用來對你的私鑰進(jìn)行加密的,加密后就沒有人能看得懂它了。然而,假如你想要無密碼登陸的話,就不能對你的私鑰進(jìn)行加密。
剛剛做了什么?
在你的本機(jī)上的 ~/.ssh 目錄中,你創(chuàng)建了兩個(gè)文件。
id_rsa 包含了你的私鑰。id_rsa.pub 中含有了你的公鑰。
步驟 2/2:在遠(yuǎn)程機(jī)器上:認(rèn)證無需密碼的登陸
登陸到遠(yuǎn)程機(jī)器
輸入 yes 并回車
輸入密碼,并回車
在遠(yuǎn)程機(jī)器上就創(chuàng)建了一個(gè) .sh 目錄,并在其中生成一個(gè) .authorized_keys 文件。你需要拷貝你本機(jī)上的 'id_rsa.pub' 中的全部內(nèi)容貼到遠(yuǎn)端服務(wù)器的 .authorized_keys 文件中。
現(xiàn)在你就能登陸到遠(yuǎn)程服務(wù)器時(shí)不用輸入你的密碼了。
SSH 可以無密碼登陸了!現(xiàn)在,你也能進(jìn)行 scp 操作而不用輸入你的密碼了。
這些指令在 Linux 和 Mac 下能正常工作。你可以在 Windows 下參照同樣的方法來使用 Putty,但是我這里沒有針對具體 Putty 指令作描述。
目標(biāo):從本機(jī)登陸到遠(yuǎn)程服務(wù)器無需輸入密碼
步驟 1/2:在本機(jī)上:生成認(rèn)證碼
認(rèn)證碼是一個(gè)私鑰公鑰對。你的公鑰也是一個(gè) 2-3 行的長長看不懂東西。公鑰就像是你登錄后的***標(biāo)識(shí)。私鑰就像是你的密碼,但比一個(gè)規(guī)則的密碼要長。你可以通過如下命令來產(chǎn)生你的公鑰和私鑰:
1.
ssh
-keygen -t rsa
1.
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vineetmanohar/.ssh/id_rsa:
接受默認(rèn)的選擇。按回車鍵。
1.
Enter passphrase (empty for no passphrase):
2.
Enter same passphrase again:
回車兩次。密鑰(passphrase) 是用來對你的私鑰進(jìn)行加密的,加密后就沒有人能看得懂它了。然而,假如你想要無密碼登陸的話,就不能對你的私鑰進(jìn)行加密。
1.
The key fingerprint is:
2.
5e:26:52:34:a1:22:18:68:11:11:7d:8d:c6:d5:4b:bf vineetmanohar@vineetmanohr.com
剛剛做了什么?
在你的本機(jī)上的 ~/.ssh 目錄中,你創(chuàng)建了兩個(gè)文件。
2.
ls
-l
1.
-rw------- 1 vineetmanohar vineetmanohar 1675 2009-07-17 17:27 id_rsa
2.
-rw-r--r-- 1 vineetmanohar vineetmanohar 411 2009-07-17 17:27 id_rsa.pub
id_rsa 包含了你的私鑰。id_rsa.pub 中含有了你的公鑰。
步驟 2/2:在遠(yuǎn)程機(jī)器上:認(rèn)證無需密碼的登陸
登陸到遠(yuǎn)程機(jī)器
1.
The authenticity of host 'vineetmanohar.com (XXX.XXX.XXX.XX)' can't be established.
2.
RSA key fingerprint is 44.2b:93:ce:1b:1b:99:3a:6d:91:d1:50:aa:0d:87:40.
3.
Are you sure you want to continue connecting (yes/no)?
輸入 yes 并回車
1.
Warning: Permanently added 'vineetmanohar.com,XXX.XXX.XXX.XX' (RSA) to the list of known hosts.
2.
username@vineetmanohar.com's password:
輸入密碼,并回車
在遠(yuǎn)程機(jī)器上就創(chuàng)建了一個(gè) .sh 目錄,并在其中生成一個(gè) .authorized_keys 文件。你需要拷貝你本機(jī)上的 'id_rsa.pub' 中的全部內(nèi)容貼到遠(yuǎn)端服務(wù)器的 .authorized_keys 文件中。
02.
chmod
700 .
ssh
03.
cd
.
ssh
04.
touch
authorized_keys
05.
chmod
600 authorized_keys
06.
# copy-paste the entire contents of your local machine's ~/.ssh/id_rsa.pub file in authorized_keys
07.
vi
authorized_keys
08.
# logout
09.
exit
現(xiàn)在你就能登陸到遠(yuǎn)程服務(wù)器時(shí)不用輸入你的密碼了。
1.
# type this command from your local machine
2.
ssh hostname -l username
SSH 可以無密碼登陸了!現(xiàn)在,你也能進(jìn)行 scp 操作而不用輸入你的密碼了。
責(zé)任編輯:Oo小孩兒
來源:
互聯(lián)網(wǎng)