SSH配置—Linux下實現免密碼登入
首先,假設我們有兩臺伺服器,伺服器名稱分別是 master 和 slave1,我們現在需要做的就是在伺服器 master 上面登入 伺服器 slave1 不需要輸入密碼就可以登入成功,如下圖所示。
下面開始我們的配置步驟
1、伺服器 master 上生成金鑰
可以通過使用 ssh-keygen 命令來生成,我們可以先使用 man 命令或者是 help 命令檢視具體需要哪些引數以及具體資訊。
通過執行命令 ssh-keygen -t rsa 來生成我們需要的金鑰。
執行上面的命令時,我們直接按三次回車,之後會在使用者的根目錄下生成一個 .ssh 的資料夾,我們進入該資料夾下面並檢視有哪些內容。
我們看到有四個檔案,下面分別解釋下每個檔案是幹什麼用的。
authorized_keys: 存放遠端免密登入的公鑰,主要通過這個檔案記錄多臺機器的公鑰。
id_rsa: 生成的私鑰檔案
id_rsa.pub: 生成的公鑰檔案
known_hosts: 已知的主機公鑰清單
2、遠端金鑰登入
這裡介紹最常用的三種方式,一是通過 ssh-copy-id 命令,二是通過 scp 命令,三是手工複製。
方式一,通過 ssh-copy-id 命令設定。最後一個引數是我們要免金鑰登入的伺服器 ip 地址。
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.100
方式二,通過 scp 命令直接將該檔案遠端複製過去,使用這種方式需要注意,如果你之前已經配置了其它伺服器上的金鑰,這是使用這種方法,就會覆蓋掉你原來的金鑰,這時候是不建議使用這種方式的,如果你是先將該檔案複製到伺服器上的一個目錄下,然後在使用追加的方式,將金鑰追加到 authorized_keys 也是完全 OK 的。如果你只有兩臺伺服器也是可以直接複製到檔案。
scp -p ~/.ssh/id_rsa.pub root@:/root/.ssh/authorized_keys
方式三,通過手工複製。將本地 id_rsa.pub 檔案的內容拷貝至遠端伺服器的 ~/.ssh/authorized_keys 檔案中也完全可以的。先使用 cat 命令檢視當前的公鑰,然後複製,在到目標伺服器上去貼上。
以上步驟,我們就完成了免金鑰登入,下面我們來進行驗證。
到此,我們的 ssh 免金鑰登入就大功告成。下面給大家說說免金鑰登入的原理,有興趣的可以看看。
首先來看下原理圖
1、ssh 客戶端向 ssh 伺服器端傳送連線請求
2、ssh 伺服器端傳送一個隨機的資訊
3、ssh 客戶端使用本地的私鑰對伺服器端傳送過來的資訊進行加密
4、ssh 客戶端向伺服器端傳送加密過後的資訊
5、ssh 伺服器端使用公鑰對該資訊進行解密
6、若解密之後的資訊和之前傳送的資訊匹配,則信任客戶端,否則不信任。
PS:如果覺得文章不錯的話,還請大家點贊分享下,算是對我的最大支援。
相關文章
- Linux 配置 SSH 秘鑰免密碼登入Linux密碼
- Windows配置ssh免密登入linux+VSCode Remote-SSH免密編寫linux程式碼WindowsLinuxVSCodeREM
- Linux配置SSH免密碼登入(非root賬號)Linux密碼
- Linux - 配置SSH免密登入 - “ssh-keygen”的基本用法Linux
- 配置SSH免密碼登陸密碼
- hadoop-SSH免密登入配置Hadoop
- linux 設定ssh 免密登入Linux
- Linux配置SSH免密登陸(公私鑰登陸)Linux
- ssh免密登入
- centos7 設定ssh免密碼登入配置方法CentOS密碼
- ssh-copy-id三步實現SSH免密登入
- ssh免密登入原理
- 介紹Linux小技巧,如何實現免密碼登入Linux密碼
- ssh免密碼登入失敗解決密碼
- ssh進階,免密登入
- SSH免密登入詳解
- SSH免密登入+JDK安裝配置+Hadoop安裝配置JDKHadoop
- 使用公鑰和私鑰實現LINUX下免密登入Linux
- ssh直接帶密碼登入Linux,Linux自動密碼登陸利器sshpass密碼Linux
- 1-Linux叢集搭建,分發指令碼,ssh免密登入Linux指令碼
- GitHub不再支援密碼驗證解決方案:SSH免密與Token登入配置Github密碼
- Linux 免密登入Linux
- Hadoop起步之圖解SSH、免密登入原理和實現Hadoop圖解
- ssh免密登入簡單操作
- CentOS監控ssh免密登入CentOS
- VS Code / Pycharm配置SSH遠端開發(免密登入)PyCharm
- 在CentOS/RHEL上設定SSH免密碼登入CentOS密碼
- Linux密碼策略和登入配置Linux密碼
- SSH免密登陸
- AWS EC2 Linux | ssh 使用密碼登入Linux密碼
- flask框架如何實現修改密碼和免密登入功能Flask框架密碼
- 自動批次實現linux機器ssh免密shell指令碼Linux指令碼
- Linux伺服器批量ssh免密登陸Linux伺服器
- 配置ssh-agent免密碼認證入門教程密碼
- 解決docker jenkins 配置SSH免密登入配置成功後不生效問題DockerJenkins
- ssh免密登入在Linux伺服器之間的設定Linux伺服器
- unbuntu16.04 伺服器的 免密登入、秘鑰登入和禁止密碼登入 配置伺服器密碼
- unbuntu16.04 伺服器的 免密登入、祕鑰登入和禁止密碼登入 配置伺服器密碼