openssh 無密碼訪問配置

2021-06-06 17:17:25 字數 1894 閱讀 5949

ubuntu下openssh的安裝:

sudo apt-get install openssh-server

一、問題描述

假設 a 為客戶機器,b為目標機;

要達到的目的:

a機器ssh登入b機器無需輸入密碼;

加密方式選 rsa|dsa均可以,預設dsa

二、具體操作流程

單向登陸的操作過程(能滿足上邊的目的):

1、登入a機器

2、ssh-keygen -t [rsa|dsa],將會生成金鑰檔案和私鑰檔案 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub

3、將 .pub 檔案複製到b機器的 .ssh 目錄, 並 cat id_dsa.pub > ~/.ssh/authorized_keys

4、大功告成,從a機器登入b機器的目標賬戶,不再需要密碼了;(直接執行#ssh 192.168.20.60

雙向登陸的操作過程:

1、ssh-keygen做密碼驗證可以使在向對方機器上ssh ,scp不用使用密碼.具體方法如下:

2、兩個節點都執行操作:#ssh-keygen -t rsa

然後全部回車,採用預設值.

3、這樣生成了一對金鑰,存放在使用者目錄的~/.ssh下。

將公鑰考到對方機器的使用者目錄下,並將其複製到~/.ssh/authorized_keys中(操作命令:#cat id_dsa.pub >> ~/.ssh/authorized_keys)。

4、設定檔案和目錄許可權:

設定authorized_keys許可權

$ chmod 600 authorized_keys

設定.ssh目錄許可權

$ chmod 700 -r .ssh

5、要保證.ssh和authorized_keys都只有使用者自己有寫許可權。否則驗證無效。(今天就是遇到這個問題,找了好久問題所在),其實仔細想想,這樣做是為了不會出現系統漏洞。

我從20.60去訪問20.59的時候會提示如下錯誤:

the authenticity of host '192.168.20.59 (192.168.20.59)' can't be established.

rsa key fingerprint is 6a:37:c0:e1:09:a4:29:8d:68:d0:ca:21:20:94:be:18.

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

warning: permanently added '192.168.20.59' (rsa) to the list of known hosts.

[email protected]'s password:

permission denied, please try again.

[email protected]'s password:

permission denied, please try again.

[email protected]'s password:

permission denied (publickey,gssapi-with-mic,password).

三、總結

1、檔案和目錄的許可權千萬別設定成chmod 777.這個許可權太大了,不安全,數字簽名也不支援。

2、生成的rsa/dsa簽名的公鑰是給對方機器使用的,這個公鑰內容還要拷貝到authorized_keys

3、linux之間的訪問直接 ssh 機器ip

4、某個機器生成自己的rsa或者dsa的數字簽名,將公鑰給目標機器,然後目標機器接收後設定相關許可權(公鑰和authorized_keys許可權),這個目標機就能被訪問了!

openssh無密碼訪問

openssh可以實現客戶端無密碼訪問服務端。操作過程如下 客戶端和服務端系統都是ubuntu10.04.2,使用者名稱都是bianhaoqiong,都安裝了openssh。伺服器端位址是192.168.0.100,客戶端的位址是192.168.0.101 客戶端配置 用bianhaoqiong登陸...

linux配置ssh無密碼訪問

由於看了網上的教程太亂,特意整理簡潔實用的教程,兩台機器a和b,現要通過a ssh無密碼訪問b 1.首先登入a,執行命令 ssh keygen t rsa 或者 ssh keygen t rsa p 然後一路回車即可,會在 ssh目錄下生成 id rsa和id rsa.pub兩個檔案,id rsa為...

centos配置ssh無密碼訪問

在linux上部署hadoop或者其它需要遠端訪問呼叫的程式,需要配置ssh無密碼訪問。centos一般都裝有sshclient和sshserver,乙個是服務端接收ssh協議訊息,乙個是客戶端給sshserver傳送shell命令。常用的命令ssh scp等命令都是sshclient中的工具。所以...