使用SSH進行Linux遠程管理

SSH是一個用於安全遠程登錄和執行命令的協議,它的加密技術能夠保護數據傳輸的安全,讓用戶在進行遠程管理時更加放心。本文將從多個方面對使用SSH進行Linux遠程管理進行詳細闡述。

一、SSH的基本操作

1、連接遠程服務器

ssh [用戶名]@[IP地址或域名]

輸入以上命令後,需要輸入賬戶密碼才可登錄。如果已經在本地生成了公私鑰對並將公鑰上傳至服務器,也可以通過以下方式登錄:

ssh -i [私鑰路徑] [用戶名]@[IP地址或域名]

2、執行命令

ssh [用戶名]@[IP地址或域名] [命令]

輸入以上命令後,會遠程執行相應的命令。如果需要以非交互方式執行,可以加上”-n”參數。

ssh -n [用戶名]@[IP地址或域名] [命令]

3、SCP文件傳輸

SCP是一種基於SSH協議的文件傳輸工具,可以將本地文件複製到遠程服務器,也可以將遠程服務器上的文件複製到本地。

將本地文件傳輸到遠程服務器:

scp [本地文件路徑] [用戶名]@[IP地址或域名]:[遠程目錄路徑]

將遠程服務器上的文件傳輸到本地:

scp [用戶名]@[IP地址或域名]:[遠程文件路徑] [本地目錄路徑]

二、SSH的配置和使用技巧

1、配置公鑰免密登錄

為了避免每次登錄都需要輸入密碼,可以將本地公鑰上傳至服務器,實現免密登錄。

先在本地生成公私鑰對:

ssh-keygen -t rsa

將生成的公鑰~/.ssh/id_rsa.pub上傳至服務器的~/.ssh/authorized_keys文件中:

ssh-copy-id [用戶名]@[IP地址或域名]

2、配置SSH別名

在本地的~/.ssh/config文件中添加別名:

Host [別名]
    Hostname [IP地址或域名]
    User [用戶名]
    Port [端口號]

這樣在登錄時就可以使用別名,而不需要輸入完整的服務器信息。

ssh [別名]

3、使用SSH-Agent

SSH-Agent可以避免每次SSH操作都需要輸入密碼,提高SSH的使用效率。

首先在本地啟動SSH-Agent:

eval $(ssh-agent)

然後將私鑰添加至SSH-Agent的密鑰列表中:

ssh-add [私鑰路徑]

三、SSH的安全設置

1、更改SSH默認端口

SSH默認端口為22,容易成為惡意攻擊的目標。可以將SSH端口更改為非默認端口,提高安全性。

在服務器的/etc/ssh/sshd_config文件中更改Port字段,並重啟SSH服務:

Port [新端口號]
systemctl restart sshd.service

2、禁用SSH root用戶登錄

為了避免黑客攻擊,應該禁止SSH root用戶登錄,通過管理普通用戶權限來執行相應任務。

在服務器的/etc/ssh/sshd_config文件中更改PermitRootLogin字段為no,並重啟SSH服務:

PermitRootLogin no
systemctl restart sshd.service

3、限制SSH遠程登錄IP地址範圍

為了限制SSH遠程登錄的IP地址範圍,可以通過/etc/hosts.allow和/etc/hosts.deny文件進行設置。

在/etc/hosts.allow文件中添加允許登錄的IP地址:

sshd: [允許登錄的IP地址範圍]

在/etc/hosts.deny文件中添加拒絕登錄的IP地址:

sshd: ALL

四、SSH的高級應用

1、在SSH中使用端口轉發

通過SSH在本地主機和遠程主機之間建立的隧道,可以在傳輸數據的同時進行端口轉發。

將遠程服務器的80端口轉發至本地的8080端口:

ssh -L 8080:localhost:80 [用戶名]@[IP地址或域名]

2、通過SSH連接Grafana

Grafana是一個開源的數據可視化平台,可以將監控指標以圖表的形式進行展示。可以通過SSH連接服務器,並啟動Grafana服務,然後在本地瀏覽器中直接訪問Grafana的Web界面。

在服務器中啟動Grafana:

systemctl start grafana-server

然後在本地終端中啟動SSH並進行端口轉發:

ssh -L 3000:localhost:3000 [用戶名]@[IP地址或域名]

接着在本地瀏覽器中訪問http://localhost:3000即可。

總結

SSH作為一種安全遠程登錄和執行命令的協議,具有非常廣泛的應用場景。本文介紹了SSH的基本操作、配置和使用技巧、安全設置以及高級應用,希望對大家了解和使用SSH有所幫助。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/297427.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-28 12:15
下一篇 2024-12-28 12:15

相關推薦

  • Python SSH 遠程執行命令

    Python SSH 遠程執行命令是指在一個服務器上執行遠程另一個服務器上命令。如果你需要在本地機器上執行命令,或者在遠程機器上執行本地命令,你都可以使用 SSH。在 Python…

    編程 2025-04-29
  • 如何在Linux中添加用戶並修改配置文件

    本文將從多個方面詳細介紹在Linux系統下如何添加新用戶並修改配置文件 一、添加新用戶 在Linux系統下創建新用戶非常簡單,只需使用adduser命令即可。使用以下命令添加新用戶…

    編程 2025-04-27
  • 如何解決linux jar包 invalid or corrupt jarfile問題

    對於許多開發人員和系統管理員在Linux環境下使用Java開發過程中遇到的一個常見的問題是 invalid or corrupt jarfile(無效或損壞的jar文件)錯誤。當您…

    編程 2025-04-27
  • 在Linux上安裝JRE並配置環境變量

    本文將從以下幾個方面為您詳細闡述如何在Linux系統上,通過自己賬戶安裝JRE,並且配置環境變量。 一、安裝JRE 在進行安裝前,我們需要下載JRE的安裝包並解壓,可以從官方網站下…

    編程 2025-04-27
  • GTKAM:Linux下的照片管理器

    GTKAM是用於Linux操作系統的一款照片管理器,它支持多種相機及存儲設備,並提供了一系列強大的工具,讓用戶可以方便地瀏覽、管理、編輯和導出照片。本文將從多個方面對GTKAM進行…

    編程 2025-04-27
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • CentOS 開啟 SSH

    一、安裝 SSH SSH 是 Secure Shell 的縮寫,是一種安全協議。在 CentOS 系統中,可以通過以下命令安裝 SSH: sudo yum install open…

    編程 2025-04-25
  • Linux網絡連接激活失敗原因及解決方法

    一、網卡驅動問題 1、缺少網卡驅動 若使用新的網卡,需要安裝對應網卡驅動,否則會導致網絡連接激活失敗。可通過以下命令查看當前系統中是否存在網卡驅動: lsmod | grep et…

    編程 2025-04-25
  • 如何在Windows/Linux/MacOS下安裝Python

    如果你對Python安裝一無所知,本文將從多個方面對Python在Windows/Linux/MacOS下的安裝做出詳細闡述,為初學者提供幫助。 一、Windows下Python的…

    編程 2025-04-25

發表回復

登錄後才能評論