linux無密碼ssh
㈠ 如何在linux中如何配置ssh免密碼登錄
首先需要在伺服器端設置/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下怎樣設置ssh無密碼登錄
1) 在本地主機生成密鑰對
ssh-keygen -t rsa
這個命令生成一個密鑰對:id_rsa(私鑰文件)和id_rsa.pub(公鑰文件)。默認被保存在~/.ssh/目錄下。
2) 將公鑰添加到遠程主機的 authorized_keys 文件中
將文件上傳到遠程主機中
scp ~/.ssh/id_rsa.pub [email protected]:/root/
SSH到登陸到遠程主機192.168.17.113,將公鑰追加到 authorized_keys 文件中
cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
或直接運行命令:
cat ~/.ssh/id_dsa.pub|ssh [email protected] 'sh -c "cat - >>~/.ssh/authorized_keys"'
3) 重啟 open-ssh 服務
/etc/init.d/ssh restart
4) 本地測試
ssh [email protected]
㈢ linux下怎樣設置ssh無密碼登錄
假設你是hostA上的一個用戶"aliceA",想以用戶「aliceB」的身份ssh到hostB上,但又不想輸入密碼。
首先,你需要以用戶「aliceA」的身份登錄到hostA上。
然後,使用ssh-keygen生成一對rsa公私鑰,生成的密鑰對會存放在~/.ssh目錄下。
接下來,使用下面的命令在目標主機hostB上的aliceB用戶目錄下創建~/.ssh目錄。如果在aliceB@hostB上已經存在.ssh目錄,這一步會被略過。
最後,將hostA上用戶「aliceA」的公鑰拷貝到aliceB@hostB上,來實現無密碼ssh。
自此以後,從aliceA@hostA上ssh到aliceB@hostB上再也不需要輸入密碼。
關於ssh服務,多看看《linux就該這么學》基礎的很,照著敲敲試驗可能理解更深入。
㈣ linux下怎樣設置ssh無密碼登錄
1.在你的自己的機器下面使用ssh-keygen命令來實現創建公鑰
使用 ssh-keygen -t rsa 來創建密鑰,程序會問你存放的目錄,如果不需要修改,直接回車兩次即可
2.將你~/.ssh目錄中的id_rsa.pub這個文件拷貝到你要登錄的伺服器的~/.ssh目錄中,然後再運行以下命令來將公鑰導入到~/.ssh/authorized_keys這個文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,注意是管道符是 >>
另外要注意請務必要將伺服器上
~/.ssh許可權設置為700
~/.ssh/authorized_keys的許可權設置為600
這是linux的安全要求,如果許可權不對,自動登錄將不會生效
完畢之後,退出伺服器的登錄,再使用ssh登錄,你就會發現伺服器不會再向你詢問密碼了.
㈤ linux下怎樣設置ssh無密碼登錄
ssh-keygen 生成密鑰
公鑰拷貝到對方機器,其實應該是追加,別沖了原文件。
scp ~/.ssh/id_rsa.pub 192.168.xxx.xxx:~/.ssh/authorized_keys
有了別人的公鑰,就可以登錄了。第一次要指紋確定一次。
㈥ 怎麼可以無密碼ssh 訪問linux
1、用ssh-keygen創建公鑰
(1)在伺服器1上執行下面的命令:
[plain] view plain print?
[root@Server1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
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:
7b:aa:08:a0:99:fc:d9:cc:d8:2e:4b:1a:c0:6b:da:e4root@Server1
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
|. |
|o. S |
|++. . |
|+=o. . . |
|o+=oB. o |
|..E==*... |
+-----------------+
輸入後,會提示創建.ssh/id_rsa、id_rsa.pub的文件,其中第一個為密鑰,第二個為公鑰。過程中會要求輸入密碼,為了ssh訪問過程無須密碼,可以直接回車 。
(2)補充說明:
ssh-keygen:生成秘鑰
其中:
-t指定演算法
-f 指定生成秘鑰路徑
-N 指定密碼
2、查看鑰匙
[plain] view plain print?
[root@Server1 ~]# ls -l .ssh
總用量 8
-rw-------. 1 root root 1675 12月 10 22:20 id_rsa
-rw-r--r--. 1 root root 394 12月 10 22:20 id_rsa.pub
可以發現 ssh目錄下的兩枚鑰匙。
3.將公鑰復制到被管理機器Server2和Server3下的.ssh目錄下(先確保存在這個目錄)
[plain] view plain print?
[root@server1 .ssh]# scp [email protected]:~/.ssh/
The authenticity of host '192.168.1.3(192.168.1.3)' can't be established.
RSA key fingerprint is93:eb:f9:47:b1:f6:3f:b4:2e:21:c3:d5:ab:1d:ae:65.
Are you sure you want to continueconnecting (yes/no)? yes
Warning: Permanently added '192.168.1.3'(RSA) to the list of known hosts.
[email protected]'s password:
id_rsa.pub
[root@server1 .ssh]# scp [email protected]:~/.ssh/authorized_keys
The authenticity of host '192.168.1.4(192.168.1.4)' can't be established.
RSA key fingerprint is93:eb:f9:47:b1:f6:3f:b4:2e:21:c3:d5:ab:1d:ae:65.
Are you sure you want to continueconnecting (yes/no)? yes
Warning: Permanently added '192.168.1.4'(RSA) to the list of known hosts.
[email protected]'s password:
id_rsa.pub
到Server2和Server3目錄下執行下面的命令
[plain] view plain print?
#cat id_dsa.pub >> ~/.ssh/authorized_keys
4、設置文件和目錄許可權:
設置authorized_keys許可權
[plain] view plain print?
$ chmod 600 authorized_keys
設置.ssh目錄許可權
[plain] view plain print?
$ chmod 700 -R .ssh
5、驗證使用SSH IP地址的方式無密碼訪問
[plain] view plain print?
[root@server1 .ssh]# ssh 192.168.1.3
Last login: Tue Dec 10 22:34:02 2013
[root@Server2 ~]#
[root@Server2 ~]#
[root@Server2 ~]#
㈦ 如何通過linux ssh遠程linux不用輸入密碼登入
方法/步驟
首先,打開終端(快捷鍵Ctrl+Alt+T)安裝ssh軟體,在這里直接輸入sudo apt-get install ssh在線安裝。
安裝過後,進行加密設置,輸入ssh-keygen -t rsa(參數t後面跟的就是加密演算法,一般常用的有兩種RSA與DSA加密,我們這里用的的是RSA演算法),會提示你輸入保存密鑰的文件直接按「Enter」鍵默認到用戶主目錄即可,在提示輸入passphrase時直接也按「Enter」鍵,表示無證書密碼。(反正一直按「Enter」鍵,直至出現一個符號組成的圖像即可)。
完成過後,可以查看到用戶主目錄下多了id_rsa(私鑰)和id_rsa.pub(公鑰)兩個文件,一個是存儲公鑰的文件,另一個是存儲私鑰的文件。
使用cat id_rsa>> authorized_keys命令(注意是兩個大於號,一個大於號的覆蓋文件,兩個大於號是累加內容)將id_rsa(私鑰)文件中的內容累加寫入到~/.ssh/authorized_keys(已認證)文件中。
要無密碼登錄其他電腦,只需要將authorized_keys文件放置到其他機子的~/.ssh/目錄下(前提是其他電腦也安裝了ssh服務)。可以通過scp傳輸,如下圖所示,scp後面接要傳輸的文件名 然後接其他電腦的用戶名@IP:傳輸的目錄。
然後,命令行輸入ssh 後面接其他電腦用戶名@IP,就會發現無密碼就可登錄其他電腦。(如果需要雙向無密碼登錄,同理只要讓另一台電腦生成密鑰,把公鑰內容累加到這台電腦的authorized_keys中即可。)
下面來看看直接通過映射名無密碼訪問其他電腦,打開hosts文件,可以使用vi或vim編輯器或圖形界面的gedit文本編輯器打開。
在hosts中加入其他電腦的IP地址空格後輸入一個你自己喜歡的映射名,如下圖的紅線部分,以後通過這個映射名即可訪問其他電腦。
然後,輸入ssh通過映射名來訪問其他電腦,注意當兩個用戶的名稱相同時才可以ssh 映射名否則需要加上用戶名(像這樣ssh hadoop@node1)。
10
如果出現下述問題,輸入ssh localhost或ssh 映射名,出現Agent admitted failure to sign using the key。
11
解決方案:命令行輸入ssh-add命令即可,會出現Identity added: /home/hadoop/.ssh/ia_rsa(/home/hadoop/.ssh/ia_rsa),就解決上述出現的問題。
㈧ linux怎麼刪除ssh 免密碼登陸
找到authorized_keys 文件 (例如/root/.ssh/authorized_keys)
假如 有 A、B、C 三台伺服器
如果不想讓A免密登錄B ,那麼修改B伺服器的authorized_keys ,將有A的ip或hostname的那行記錄注釋掉
同理如果都不想免密,把三台伺服器的authorized_keys文件,內容都注釋就OK了
㈨ linux ssh無密碼登陸
方法:
在主機A上執行如下:
1.$cd ~/.ssh
2.$ssh-keygen -t rsa --------------------然後一直按回車鍵,就會按照默認的選項將生成的密鑰保存在.ssh/id_rsa文件中。
3.$cp id_rsa.pub authorized_keys
這步完成後,正常情況下就可以無密碼登錄本機了,即ssh localhost,無需輸入密碼。
4.$scp authorized_keys [email protected]:/home/hadoop/.ssh ------把剛剛產生的authorized_keys文件拷一份到主機B上.
5.$chmod 600 authorized_keys
進入主機B的.ssh目錄,改變authorized_keys文件的許可許可權。
正常情況下上面幾步執行完成後,從主機A所在機器向主機A、主機B所在機器發起ssh連接,只有在第一次登錄時需要輸入密碼,以後則不需要。
可能遇到的問題:
1.進行ssh登錄時,出現:」Agent admitted failure to sign using the key「 .
執行: $ssh-add
強行將私鑰 加進來。
2.如果無任何錯誤提示,可以輸密碼登錄,但就是不能無密碼登錄,在被連接的主機上(如A向B發起ssh連接,則在B上)執行以下幾步:
$chmod o-w ~/
$chmod 700 ~/.ssh
$chmod 600 ~/.ssh/authorized_keys
3.如果執行了第2步,還是不能無密碼登錄,再試試下面幾個
$ps -Af | grep agent
檢查ssh代理是否開啟,如果有開啟的話,kill掉該代理,然後執行下面,重新打開一個ssh代理,如果沒有開啟,直接執行下面:
$ssh-agent
還是不行的話,執行下面,重啟一下ssh服務
$sudo service sshd restart
4. 執行ssh-add時提示「Could not open a connection to your authenticationh agent」而失敗
執行: ssh-agent bash