如何設定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
第二步、點選使用者身份驗證,然後選擇方法為Public Key。然後輸入用戶名,這裡我們填root。最後選擇金鑰,注意這裡需要選擇是的私鑰,而不是公鑰。
這兩個步驟設定好了後,就完成了免密碼登入了。
客戶機為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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)
![Windows 11 中的 Telnet 完整教學 [安裝/啟用與故障排除]](https://img.php.cn/upload/article/000/000/164/168476253791019.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
<p>Telnet是「終端網路」的簡稱。它是用戶可以用來將一台電腦連接到本機的協定。 </p><p>這裡,本機是指啟動連線的設備,而連接到本機的電腦稱為遠端電腦。 </p><p>Telnet在客戶端/伺服器主體上運行,雖然它已經過時,但在2022年它仍然被許多人使用。許多人已經轉向Windows11作業系統,這是微軟提供的最新作業系統。 &

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

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

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

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

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

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

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