明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

怎么無需密碼進行SSH連接

[摘要]這個簡單的教程講解了如何無需輸入密碼 SSH 連接到遠(yuǎn)程機器。 在你需頻繁的登陸到同一機器, 而又不得不一次次輸入密碼時就可以使用這一技術(shù)。 這也很適于這樣的場景:當(dāng)你有一個腳本需要通過 SSH...

這個簡單的教程講解了如何無需輸入密碼 SSH 連接到遠(yuǎn)程機器。 在你需頻繁的登陸到同一機器, 而又不得不一次次輸入密碼時就可以使用這一技術(shù)。 這也很適于這樣的場景:當(dāng)你有一個腳本需要通過 SSH 從遠(yuǎn)程機器取文件或者在遠(yuǎn)程機器上執(zhí)行一個任務(wù), 并且希望能自動的運行該腳本, 而用不著人工去輸入一個密碼。

這些指令在 Linux 和 Mac 下能正常工作。 你可以在 Windows 下參照同樣的方法來使用 Putty, 但是我這里沒有針對具體 Putty 指令作描述。

目標(biāo):從本機登陸到遠(yuǎn)程服務(wù)器無需輸入密碼

步驟 1/2:在本機上:生成認(rèn)證碼

認(rèn)證碼是一個私鑰公鑰對。 你的公鑰也是一個 2-3 行的長長看不懂東西。 公鑰就像是你登錄后的唯一標(biāo)識。 私鑰就像是你的密碼, 但比一個規(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) 是用來對你的私鑰進行加密的, 加密后就沒有人能看得懂它了。 然而, 假如你想要無密碼登陸的話, 就不能對你的私鑰進行加密。

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

剛剛做了什么?

在你的本機上的 ~/.ssh 目錄中, 你創(chuàng)建了兩個文件。

1.cd ~/.ssh

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)程機器上:認(rèn)證無需密碼的登陸

登陸到遠(yuǎn)程機器

1.ssh hostname -l username

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)程機器上就創(chuàng)建了一個 .sh 目錄, 并在其中生成一個 .authorized_keys 文件。 你需要拷貝你本機上的 'id_rsa.pub' 中的全部內(nèi)容貼到遠(yuǎn)端服務(wù)器的 .authorized_keys 文件中。

01.mkdir .ssh  

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ù)器時不用輸入你的密碼了。

1.# type this command from your local machine   

2.ssh hostname -l username

SSH 可以無密碼登陸了!現(xiàn)在, 你也能進行 scp 操作而不用輸入你的密碼了


上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學(xué)習(xí)了安全知識,幾乎可以讓你免費電腦中毒的煩擾。