1. 程式人生 > >Linux 通過rsa公鑰實現ssh免密碼登入

Linux 通過rsa公鑰實現ssh免密碼登入

1ssh免密碼登入

root登入192.168.121.212,然後以tomcat帳號ssh遠端登入10.14.13.16上,不需要輸入密碼,需要達到如下效果:

[[email protected] .ssh]# ssh [email protected]                                                                                                                             

[[email protected] _web1_13_16 ~]$

大概思路就是需要用生成rsa的金鑰,然後將生成的公鑰copy到遠端10.14.13.16上的/home/tomcat/.ssh/目錄下去實現。

2192.168.121.212上面生成金鑰

先以root登入192.168.121.212伺服器,執行如下命令

cd /root/.ssh/

ssh-keygen -t rsa -P ''

執行完後,會生成id_rsa、id_rsa.pub這兩個檔案,其中id_rsa.pub是公鑰,id_rsa是金鑰。

3copy公鑰到10.14.13.16

(1)沒有authorized_keys檔案

# 注意,要遠端copyauthorized_keys檔案

scp id_rsa.pub

[email protected]:/home/tomcat/.ssh/authorized_keys

(2)已經存在authorized_keys檔案

先將公鑰copy進去:scp id_rsa.pub [email protected]:/home/tomcat/.ssh/id_rsa.pub_212;然後登入進去將公鑰寫入authorized_keys的末尾:cat id_rsa.pub_212 >> authorized_keys

4、驗證無密碼登入

# 驗證成功,OK

[[email protected] .ssh]# ssh [email protected]

[

[email protected] _web1_13_16 ~]$

5、登入到10.14.13.16,設定寫許可權

# 需要登入到10.24.13.16,然後賦予.ssh目錄的寫許可權

chmod 700 /home/tomcat/.ssh

# 這裡有的是需要600生效,有的需要700生效,有的需要750才能生效,可以逐步嘗試

chmod 750 /home/tomcat/.ssh/authorized_keys

6、除錯方法彙總

(1)在192.168.121.212上用ssh -i檢視金鑰是否生效

[[email protected] .ssh]# ssh -i/root/.ssh/id_rsa.pub.192.168.121.212 [email protected]

Enter passphrase for key'/root/.ssh/id_rsa.pub.192.168.121.212':

Enter passphrase for key'/root/.ssh/id_rsa.pub.192.168.121.212':

[email protected]'s password:

Last login: Thu Aug 11 22:01:08 2016 from 192.168.121.212

[[email protected]_lvdi_dbm1_13_16 ~]

(2)在192.168.121.212上用ssh -v檢視登入路徑

ssh -v [email protected]

(3)在10.14.13.16上面檢視遠端登入自己的log詳細情況

# 如果ssh登入有啥異常資訊,一般都可以在這裡面看得到,這個檔案很管用

vim /var/log/secure

PS:如果有看到看到/home/tomcat/id_rsa報警告資訊too open然後ssh登入失敗的話,需要收回/home/tomcat/id_rsa的許可權,將id_rsa私鑰要設定成600許可權才能用ssh無密碼登入;

相關推薦

Linux 通過rsa實現ssh密碼登入

1、ssh免密碼登入root登入192.168.121.212,然後以tomcat帳號ssh遠端登入10.14.13.16上,不需要輸入密碼,需要達到如下效果:[[email protected] .ssh]# ssh [email protected]

非對稱加密演算法:實現ssh密碼登入

**描述:利用非對稱加密演算法,實現兩臺主機之間可以免密碼直接登入 ,如下圖:** 整個實驗的原理如下圖: 具體步驟如下: 1、先準備好實驗需要的環境(兩臺虛擬機器–A:192.168.72.73,B:192.168.72.23),此時,我們遠端登入主機B,

iterm2 實現 ssh 密碼登入,親測可用

#!/usr/bin/expect set password kskhJla23kJL set port 12101 set user root set ip 192.168.101.1 spawn

使用TortoiseGit時如何實現SSH密碼登入

公司的版本伺服器使用了GIT,每次pull/push都要提示輸入密碼,比較煩。而且由於網路速率比較慢,等好一段時間才能輸密碼。為了避免輸入密碼,折騰了好久。 Git客戶端使用的軟體如下: Git-1.9.2-preview20140411.exe TortoiseGit-1

Linux實現ssh密碼登陸遠程服務器

Linux上實現ssh免密碼登陸遠程服務平常使用ssh登陸遠程服務器時,都需要使用輸入密碼,希望可以實現通過密鑰登陸而免除輸入密碼,從而可以為以後實現批量自動部署主機做好準備。 環境如下: IP地址 操作系統 服務器端 10.0.0.10 CentOS 6.5 x86 客戶端 10.0.0

(轉) linux實現ssh密碼登錄的正確方法

文件 keygen -c ima 4.4 ont 遠程 正確方法 str 方法/步驟 驗證ssh遠程登錄,未作免密處理的兩臺機器,登錄時,是需要輸入密碼的 本地系統執行 ssh-keygen -t rsa 命令,生成密鑰文件 在相應的目錄下查看生成的密鑰文件,其中:id

centos SSH密碼登入 使用

準備工作: 1、確認本機sshd的配置檔案(需要root許可權)   $ vi /etc/ssh/sshd_config      找到以下內容,並去掉註釋符”#“      RSAAuthentication yes

多個Linux伺服器之間實現ssh密碼連線

 假設現在我們有一個使用者,叫tom, 1.  啟動ssh ,  chkconfig iptables off service iptables stop service sshd start 然後在 tom 使用者下 ,ssh localhost 命令,點yes

windows下如何實現ssh密碼登錄

-c nbsp 免密 win 實現 刪除 left ssh免密碼登錄 生成 windows下如何實現ssh免密碼登錄呢? 步驟如下: 1、設置Git的user name和email: $ git config --global user.name "XXXX" $ git

ssh密碼登入linux伺服器

1、環境:win10、win10裝有的git、linux伺服器 2、開啟git,檢視win10本機的公鑰 $ cat ~/.ssh/id_rsa.pub 3、開啟伺服器,建立.ssh目錄,進入 [[email protected] ~]# mkdir ~/.ssh/ [

Linux 安裝SSH 配置 SSH 密碼登入

Hadoop叢集、單節點模式都需要SSH登入  Ubuntu 預設安裝了 SSH client 還需手動安裝 SSH server 普通的ssh 登入localhsot shell 命令:   sudo apt-get install openssh-server  

LinuxLinux作業系統——配置ssh密碼登入遠端伺服器

ssh免密碼登入遠端伺服器 最簡單的操作 ssh免密碼登入的原理是把本地電腦的公鑰放在宿主機,然後使用本地電腦的私鑰去認證。 在本地電腦執行 /usr/bin/ssh-keygen -t rsa,安裝提示一直回車即可,最後會看到~/.ssh目錄下多了幾個檔案id_rsa (

使用expect實現ssh密碼登陸

使用expect向ip列表檔案中的ip主機,執行ssh-copy-id命令複製金鑰,以實現ssh免密登陸。 安裝expect yum install -y expect 生成金鑰對 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 指令碼 //shell指令碼內容

LinuxSSH密碼登入配置

假設有 A、 B 兩臺 Linux 伺服器,我們希望能夠從其中一臺伺服器通過 SSH 免密碼登入到另一臺伺服器。 兩臺伺服器的資訊如下: 主機名    IP地址    免密碼登入使用者名稱 server1    

Linux下快速配置SSH密碼登入

有機器A(192.168.221.128),B(192.168.221.129)。現想A和B想要通過SSH免密碼登入。 安裝openssh 首先我們需要先檢視本機是否已安裝openssh伺服器(openssh-server)或者客戶端(openssh-cli

Linux多臺伺服器間SSH密碼登入配置

SSH實現各個伺服器間的檔案相互備份,如執行scp命令,可以實現免密碼登入,從而可以使用SHELL指令碼實現一些自動化的處理。 假如A機要免密碼登入B機,具體方法如下: 1、在A機執行:"ssh-keygen -t rsa" 命令,建立公鑰資訊 #ssh-keygen

linux下設定了SSH密碼登入但還是需要輸入密碼的解決辦法

今天在設定linux的免密碼登入後,仍然需要輸入密碼,後來找到了原因,是因為使用者沒有許可權修改.ssh目錄下的know_hosts檔案導致的。 具體情況是這樣的: 在/home/username/.ssh輸入以下命令後: #ssh-keygen -t rsa -P ''

linux ssh密碼登入其他主機

現在A主機要通過ssh連線到B主機,需要在A主機上生成一個ssh公鑰,然後寫入到B主機的authorized_keys檔案即可(預設主機使用者都為root)。 1 在root賬戶下生成公鑰  ssh-keygen 2 將生成的公鑰先寫入A主機的authorized_keys

Docker下,實現多臺機器之間相互SSH密碼登入

在Docker下搭建hadoop叢集環境的時候,需要將叢集的機器設定為相互SSH免密碼登入,這裡將整個設定過程總結下來。 機器情況 一共啟動三個容器,都是centos6.7的系統,每個容器的名字和ip如下圖所示: 映象檔案 我們要實現SSH免

Linux之間配置SSH互信(SSH密碼登入

1.在客戶端生成公鑰私鑰對 命令:ssh-keygen -t rsa 一路預設回車,系統在/root/.ssh下生成id_rsa、id_rsa.pub 2.檢視系統生成的公鑰私鑰對 命令:ls /root/.ssh 可以看到如下的檔案 3.將生成的公鑰私鑰對i