真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用公鑰/私鑰對(duì)設(shè)定免密的Linux登錄方式

小編給大家分享一下如何使用公鑰/私鑰對(duì)設(shè)定免密的Linux登錄方式,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),網(wǎng)站空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,綿陽(yáng)電信機(jī)房機(jī)柜租用,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國(guó)大陸、港澳臺(tái)以及歐美等多個(gè)國(guó)家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。

使用一組公鑰/私鑰對(duì)讓你不需要密碼登錄到遠(yuǎn)程 Linux 系統(tǒng)或使用 ssh 運(yùn)行命令,這會(huì)非常方便,但是設(shè)置過(guò)程有點(diǎn)復(fù)雜。下面是幫助你的方法和腳本。

在 Linux 系統(tǒng)上設(shè)置一個(gè)允許你無(wú)需密碼即可遠(yuǎn)程登錄或運(yùn)行命令的帳戶(hù)并不難,但是要使它正常工作,你還需要掌握一些繁瑣的細(xì)節(jié)。在本文,我們將完成整個(gè)過(guò)程,然后給出一個(gè)可以幫助處理瑣碎細(xì)節(jié)的腳本。

設(shè)置好之后,如果希望在腳本中運(yùn)行 ssh 命令,尤其是希望配置自動(dòng)運(yùn)行的命令,那么免密訪(fǎng)問(wèn)特別有用。

需要注意的是,你不需要在兩個(gè)系統(tǒng)上使用相同的用戶(hù)帳戶(hù)。實(shí)際上,你可以把公用密鑰用于系統(tǒng)上的多個(gè)帳戶(hù)或多個(gè)系統(tǒng)上的不同帳戶(hù)。

設(shè)置方法如下。

在哪個(gè)系統(tǒng)上啟動(dòng)?

首先,你需要從要發(fā)出命令的系統(tǒng)上著手。那就是你用來(lái)創(chuàng)建 ssh 密鑰的系統(tǒng)。你還需要可以訪(fǎng)問(wèn)遠(yuǎn)程系統(tǒng)上的帳戶(hù)并在其上運(yùn)行這些命令。

為了使角色清晰明了,我們將場(chǎng)景中的第一個(gè)系統(tǒng)稱(chēng)為 “boss”,因?yàn)樗鼘l(fā)出要在另一個(gè)系統(tǒng)上運(yùn)行的命令。

因此,命令提示符如下:

boss$

如果你還沒(méi)有在 boss 系統(tǒng)上為你的帳戶(hù)設(shè)置公鑰/私鑰對(duì),請(qǐng)使用如下所示的命令創(chuàng)建一個(gè)密鑰對(duì)。注意,你可以在各種加密算法之間進(jìn)行選擇。(一般使用 RSA 或 DSA。)注意,要在不輸入密碼的情況下訪(fǎng)問(wèn)系統(tǒng),你需要在下面的對(duì)話(huà)框中的兩個(gè)提示符出不輸入密碼。

如果你已經(jīng)有一個(gè)與此帳戶(hù)關(guān)聯(lián)的公鑰/私鑰對(duì),請(qǐng)?zhí)^(guò)此步驟。

boss$ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/myself/.ssh/id_rsa):Enter passphrase (empty for no passphrase):            <== 按下回車(chē)鍵即可Enter same passphrase again:                           <== 按下回車(chē)鍵即可Your identification has been saved in /home/myself/.ssh/id_rsa.Your public key has been saved in /home/myself/.ssh/id_rsa.pub.The key fingerprint is:SHA256:1zz6pZcMjA1av8iyojqo6NVYgTl1+cc+N43kIwGKOUI myself@bossThe key's randomart image is:+---[RSA 3072]----+|     . ..        ||   E+ .. .       ||  .+ .o + o      ||   ..+.. .o* .   ||    ... So+*B o  ||    +   ...==B . || . o .   ....++. ||o o   . . o..o+  ||=..o.. ..o  o.   |+----[SHA256]-----+

上面顯示的命令將創(chuàng)建公鑰和私鑰。其中公鑰用于加密,私鑰用于解密。因此,這些密鑰之間的關(guān)系是關(guān)鍵的,私有密鑰絕不應(yīng)該被共享。相反,它應(yīng)該保存在 boss 系統(tǒng)的 .ssh 文件夾中。

注意,在創(chuàng)建時(shí),你的公鑰和私鑰將會(huì)保存在 .ssh 文件夾中。

下一步是將公鑰復(fù)制到你希望從 boss 系統(tǒng)免密訪(fǎng)問(wèn)的系統(tǒng)。你可以使用 scp 命令來(lái)完成此操作,但此時(shí)你仍然需要輸入密碼。在本例中,該系統(tǒng)稱(chēng)為 “target”。

boss$ scp .ssh/id_rsa.pub myacct@target:/home/myaccountmyacct@target's password:

你需要安裝公鑰在 target 系統(tǒng)(將運(yùn)行命令的系統(tǒng))上。如果你沒(méi)有 .ssh 目錄(例如,你從未在該系統(tǒng)上使用過(guò) ssh),運(yùn)行這樣的命令將為你設(shè)置一個(gè)目錄:

target$ ssh localhost datetarget$ ls -la .sshtotal 12drwx------ 2 myacct myacct 4096 Jan 19 11:48 .drwxr-xr-x 6 myacct myacct 4096 Jan 19 11:49 ..-rw-r--r-- 1 myacct myacct  222 Jan 19 11:48 known_hosts

仍然在目標(biāo)系統(tǒng)上,你需要將從“boss”系統(tǒng)傳輸?shù)墓€添加到 .ssh/authorized_keys 文件中。如果該文件已經(jīng)存在,使用下面的命令將把它添加到文件的末尾;如果文件不存在,則創(chuàng)建該文件并添加密鑰。

target$ cat id_rsa.pub >> .ssh/authorized_keys

下一步,你需要確保你的 authorized_keys 文件權(quán)限為 600。如果還不是,執(zhí)行命令 chmod 600 .ssh/authorized_keys

target$ ls -l authorized_keys-rw------- 1 myself myself 569 Jan 19 12:10 authorized_keys

還要檢查目標(biāo)系統(tǒng)上 .ssh 目錄的權(quán)限是否設(shè)置為 700。如果需要,執(zhí)行 chmod 700 .ssh 命令修改權(quán)限。

target$ ls -ld .sshdrwx------ 2 myacct myacct 4096 Jan 14 15:54 .ssh

此時(shí),你應(yīng)該能夠從 boss 系統(tǒng)遠(yuǎn)程免密運(yùn)行命令到目標(biāo)系統(tǒng)。除非目標(biāo)系統(tǒng)上的目標(biāo)用戶(hù)帳戶(hù)擁有與你試圖連接的用戶(hù)和主機(jī)相同的舊公鑰,否則這應(yīng)該可以工作。如果是這樣,你應(yīng)該刪除早期的(并沖突的)條目。

使用腳本

使用腳本可以使某些工作變得更加容易。但是,在下面的示例腳本中,你會(huì)遇到的一個(gè)煩人的問(wèn)題是,在配置免密訪(fǎng)問(wèn)權(quán)限之前,你必須多次輸入目標(biāo)用戶(hù)的密碼。一種選擇是將腳本分為兩部分——需要在 boss 系統(tǒng)上運(yùn)行的命令和需要在 target 系統(tǒng)上運(yùn)行的命令。

這是“一步到位”版本的腳本:

#!/bin/bash# NOTE: This script requires that you have the password for the remote acct#       in order to set up password-free access using your public key LOC=`hostname`  # the local system from which you want to run commands from                # wo a password # get target system and accountecho -n "target system> "read REMecho -n "target user> "read user # create a key pair if no public key existsif [ ! -f ~/.ssh/id_rsa.pub ]; then  ssh-keygen -t rsafi # ensure a .ssh directory exists in the remote accountecho checking for .ssh directory on remote systemssh $user@$REM "if [ ! -d /home/$user/.ssh ]; then mkdir /home/$user/.ssh; fi" # share the public key (using local hostname)echo copying the public keyscp ~/.ssh/id_rsa.pub $user@$REM:/home/$user/$user-$LOC.pub # put the public key into the proper locationecho adding key to authorized_keysssh $user@$REM "cat /home/$user/$user-$LOC.pub >> /home/$user/.ssh/authorized_keys" # set permissions on authorized_keys and .ssh (might be OK already)echo setting permissionsssh $user@$REM "chmod 600 ~/.ssh/authorized_keys"ssh $user@$REM "chmod 700 ~/.ssh" # try it out -- should NOT ask for a passwordecho testing -- if no password is requested, you are all setssh $user@$REM /bin/hostname

腳本已經(jīng)配置為在你每次必須輸入密碼時(shí)告訴你它正在做什么。交互看起來(lái)是這樣的:

$ ./rem_login_setuptarget system> fruitflytarget user> lolachecking for .ssh directory on remote systemlola@fruitfly's password:copying the public keylola@fruitfly's password:id_rsa.pub                                    100%  567   219.1KB/s   00:00adding key to authorized_keyslola@fruitfly's password:setting permissionslola@fruitfly's password:testing -- if no password is requested, you are all setfruitfly

在上面的場(chǎng)景之后,你就可以像這樣登錄到 lola 的帳戶(hù):

$ ssh lola@fruitfly[lola@fruitfly ~]$

一旦設(shè)置了免密登錄,你就可以不需要鍵入密碼從 boss 系統(tǒng)登錄到 target 系統(tǒng),并且運(yùn)行任意的 ssh 命令。以這種免密的方式運(yùn)行并不意味著你的帳戶(hù)不安全。然而,根據(jù) target 系統(tǒng)的性質(zhì),保護(hù)你在 boss 系統(tǒng)上的密碼可能變得更加重要。

以上是“如何使用公鑰/私鑰對(duì)設(shè)定免密的Linux登錄方式”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享文章:如何使用公鑰/私鑰對(duì)設(shè)定免密的Linux登錄方式
當(dāng)前網(wǎng)址:http://weahome.cn/article/jjgjds.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部