首頁 運維 linux運維 如何設定ssh服務使得不用輸入帳號密碼即可連接遠端主機

如何設定ssh服務使得不用輸入帳號密碼即可連接遠端主機

Nov 20, 2020 am 11:40 AM
ssh

我們知道,ssh協定可以透過輸入帳號名稱和密碼來連接遠端的伺服器。那麼,可以免去輸入帳號和密碼嗎,直接登入。答案是可以的,而且在日常工作中,這種需求也是常見的。例如,使用scp來做異地備份,想要把scp寫入到crontab中,但是在crontab肯定不能夠輸入帳號密碼的,那麼就需要做免帳號密碼登入了。

ssh是一種非對稱加密協議,有公鑰和私鑰。公鑰是用來加密資訊用的,各個主機中會在自己的家目錄的.ssh目錄下的known_hosts檔案中存放其他主機的公鑰。想要做免帳號密碼,重點就是這個公鑰。

假設一台伺服器主機SERVER,一台客戶機CLIENT,客戶機想要免登陸連線SERVER。那就只要將客戶機的公鑰追加到SERVER機的~/.ssh/authorized_keys末端即可。以下分兩種情況示範如何免密碼登入:

  • 客戶機為windows系統

  • 客戶機為linux系統

客戶機為windows系統

#首先第一步需要去產生秘鑰對,在這裡,我們使用git工具來生成秘鑰對(如何在windows系統上安裝git,這個自己去查詢,非常的簡單,一路next即可)。

ssh-keygen
登入後複製

在git終端機輸入上述指令後,會有一系列的提示訊息,直接輸入ENTER鍵(共需輸入三次ENTER)。之後,就可以在$HOMT/.ssh/目錄下看到公鑰以及私鑰,以pub結尾的是公鑰。

admin@LAPTOP-7P19B9SH MINGW64 ~/.ssh
$ ll
total 13
-rw-r--r-- 1 admin 197121 1679  5月  3  2019 id_rsa
-rw-r--r-- 1 admin 197121  398  5月  3  2019 id_rsa.pub
登入後複製

接下來就把該公鑰上傳到伺服器上,然後把該公鑰資訊追加到~/.ssh/authorized_keys中。

# cat id_rsa.pub >> .ssh/authorized_keys
登入後複製

下面示範如何使用xshell來免密碼登入

第一步、輸入遠端主機的IP

如何設定ssh服務使得不用輸入帳號密碼即可連接遠端主機

第二步、點選使用者身份驗證,然後選擇方法為Public Key。然後輸入用戶名,這裡我們填root。最後選擇金鑰,注意這裡需要選擇是的私鑰,而不是公鑰。

如何設定ssh服務使得不用輸入帳號密碼即可連接遠端主機

這兩個步驟設定好了後,就完成了免密碼登入了。

客戶機為linux主機

第一步也是產生秘鑰對

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
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:
SHA256:GCyx2cSYE6yR7xCuUVOF0Omvp5fEoxv0Y2wOQvMRB98 root@lijia
The key's randomart image is:
+---[RSA 2048]----+
|  .*=Oo          |
|  * OX..         |
| o B=.* E        |
|. + o+ o         |
| ooooo. S        |
|.. +.+=          |
|  . ++*o         |
|   .o*+.         |
|    o=.          |
+----[SHA256]-----+
登入後複製

第二步,將剛生產的公鑰傳送給另一台機器

# ssh-copy-id root@121.***.***.64
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@121.196.12.64's password: 
Number of key(s) added: 1
Now try logging into the machine, with:   "ssh 'root@121.***.***.64'"
and check to make sure that only the key(s) you wanted were added.
登入後複製

第三步,登入遠端主機

# ssh root@121.196.12.64
Welcome to Alibaba Cloud Elastic Compute Service !
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Fri Nov 20 10:28:37 2020 from 111.38.123.86
# 免密码登录成功
登入後複製

更多相關技術文章,請造訪linux系統教學專欄!

以上是如何設定ssh服務使得不用輸入帳號密碼即可連接遠端主機的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Windows 11 中的 Telnet 完整教學 [安裝/啟用與故障排除] Windows 11 中的 Telnet 完整教學 [安裝/啟用與故障排除] May 22, 2023 pm 09:35 PM

<p>Telnet是「終端網路」的簡稱。它是用戶可以用來將一台電腦連接到本機的協定。 </p><p>這裡,本機是指啟動連線的設備,而連接到本機的電腦稱為遠端電腦。 </p><p>Telnet在客戶端/伺服器主體上運行,雖然它已經過時,但在2022年它仍然被許多人使用。許多人已經轉向Windows11作業系統,這是微軟提供的最新作業系統。 &

如何從 iPad SSH 到 Mac 如何從 iPad SSH 到 Mac Apr 14, 2023 pm 12:22 PM

如何從 iPad SSH 到 Mac這是一個兩部分的演練。首先,您將在 Mac 上啟用 SSH 伺服器,然後您將使用 ssh 用戶端應用程式從 iPad 連接到它。在 Mac 上,啟動 SSH 伺服器您可以透過開啟名為 Remote Login 的功能在 Mac 上啟用 SSH 伺服器。前往 Apple 選單 > 系統偏好設定 > 共用 > 啟用“遠端登入”,並選取“允許遠端使用者完全存取磁碟”框Mac 現在是一個 SSH 伺服器,為您提供從 iPad 連接的 shell。注意

Python伺服器程式設計:使用Paramiko實作SSH遠端操作 Python伺服器程式設計:使用Paramiko實作SSH遠端操作 Jun 18, 2023 pm 01:10 PM

隨著雲端運算和物聯網的發展,遠端操作伺服器變得越來越重要。在Python中,我們可以使用Paramiko模組來輕鬆實現SSH遠端操作。在本文中,我們將介紹Paramiko的基本用法,以及如何在Python中使用Paramiko來遠端管理伺服器。什麼是ParamikoParamiko是一個用於SSHv1和SSHv2的Python模組,可以用於連接和控制SSH客戶

Windows 上的 OpenSSH:安裝、設定和使用指南 Windows 上的 OpenSSH:安裝、設定和使用指南 Mar 08, 2024 am 09:31 AM

對於大多數Windows使用者來說,遠端桌面協定(RDP)一直是遠端管理的首選,因為它提供了友善的圖形介面。然而,對於那些需要更精細控制的系統管理員來說,SSH更適合他們的需求。透過SSH,管理員可以透過命令列與遠端設備進行交互,這樣可以讓管理工作更有效率。 SSH的優勢在於其安全性和靈活性,使得管理員能夠更方便地進行遠端管理和維護工作,尤其是在處理大量設備或進行自動化任務時。因此,儘管RDP在使用者友善性方面表現出色,但對於系統管理員來說,SSH的功能和控制力更勝一籌。以前,Windows用戶需要藉

Linux SSH登入互信配置 Linux SSH登入互信配置 Feb 19, 2024 pm 07:48 PM

1.做ssh互信的目的1.在做集群的時候是需要SSH互信,它有利於在另一節點方便操作。 2.使用scp遠端拷貝操作時,需要輸入目標伺服器的使用者名稱和密碼,這個時候可以做linux伺服器之間ssh互信配置,這樣在多個linux伺服器之間做操作時就可以免密登陸。 2.ssh互信配置的原理簡而言之,伺服器儲存目標主機的證書,以便自動完成認證,無需輸入密碼。 3.ssh互信設定步驟1、各節點產生自己的公鑰、私鑰對。 2、將自己的公鑰文件寄給對方。 3.驗證互信配置是否成功。 4.配置ssh互信這裡以MYDB01和

Python基於ssh遠端怎麼連接Mysql資料庫 Python基於ssh遠端怎麼連接Mysql資料庫 May 27, 2023 pm 04:07 PM

背景如果需要訪問遠端伺服器的Mysql資料庫,但是該Mysql資料庫為了安全期間,安全措施設定為只允許本地連接(也就是你需要登入該伺服器才能使用),其他遠端連線是不可以直接訪問,並且對應的連接埠也做了修改,那麼就需要基於ssh來連接該資料庫。這種方式連接資料庫與Navicat裡面介面化基於ssh連接一樣。 Navicat連接資料庫安裝支援庫如果要連接Mysql,首先需要安裝pymysqlpipinstallpymysql安裝基於ssh的函式庫sshtunnelpipinstallsshtunnel#

Linux怎麼檢查SSH版本 Linux怎麼檢查SSH版本 Feb 15, 2023 am 11:28 AM

檢查方法:1、用文字編輯器開啟“/etc/ssh/sshd_config”,查看“Protocol”字段,若顯示“Protocol 2”就代表伺服器只支援SSH2,若顯示“Protocol 1”就代表伺服器同時支援兩者。 2.強制ssh使用特定的SSH協議,透過查看SSH伺服器的回應來判斷。 3.使用scanssh工具,語法「sudo scanssh -s ssh ip位址」。

Linux Debian11伺服器安裝SSH,建立新使用者並允許SSH遠端登錄,及SSH安全登入設定! Linux Debian11伺服器安裝SSH,建立新使用者並允許SSH遠端登錄,及SSH安全登入設定! Mar 01, 2024 pm 07:16 PM

在Debian11伺服器上安裝SSH並建立新使用者允許SSH遠端登入的步驟如下:步驟1:安裝SSH為了安裝SSH伺服器,您需要以root使用者或具有sudo特權的使用者身分登入您的Debian11伺服器。在終端機中執行以下指令來安裝SSH伺服器:sudoaptupdatesudoaptinstallopenssh-server步驟2:建立新使用者要建立一個新用戶,您可以使用adduser指令。將下面的命令替換為您想要的使用者名稱:sudoaddusernew_username系統會提示您設定新使用者的密碼和其

See all articles