回覆列表
  • 1 # msy大牛

    要在Linux下配置SSH和SFTP使用不同的端口號,您可以按照以下步驟進行操作:

    1. 打開終端並以root用戶身份登錄到Linux系統。

    2. 編輯SSH配置文件:使用文本編輯器(如vi或nano)打開SSH服務器配置文件 `/etc/ssh/sshd_config`。

    ```

    sudo vi /etc/ssh/sshd_config

    ```

    3. 在配置文件中找到 `Port` 行,該行定義了SSH服務器監聽的端口號,默認情況下為22。

    4. 更改SSH端口號:將 `Port` 的值更改為您想要用於SSH連接的新端口號。請確保選擇一個未被其他服務占用的端口號。

    5. 保存並關閉文件:在vi編輯器中,按下 `Esc` 鍵,然後輸入 `:wq` 並按下 `Enter` 保存並退出。

    6. 重啟SSH服務:執行以下命令來重新啟動SSH服務以使更改生效。

    ```

    sudo systemctl restart sshd

    ```

    7. 配置SFTP使用不同的端口號:默認情況下,SFTP使用SSH的端口號進行連接。如果您希望為SFTP設置不同的端口號,可以考慮使用專門的SFTP服務器軟件,如vsftpd或ProFTPD,並在其配置文件中指定所需的端口號。

    請注意,在更改SSH和SFTP的端口號之後,您需要確保相應的防火牆規則允許新端口的傳入連接。確保您的網絡和系統安全性,例如使用強密碼、限制登錄嘗試次數和禁用root遠程登錄等。

    這些步驟僅適用於常見的Linux發行版,具體操作可能因不同的發行版而有所不同。

  • 2 # 帶你走進湖北

    要在Linux下配置SSH和SFTP使用不同的端口號,您需要進行以下步驟:

    1. 打開SSH配置文件(一般位於/etc/ssh/sshd_config)。

    2. 在文件中找到“Port”行,並更改SSH的端口號為您想要使用的端口號(例如,2222)。

    3. 保存並關閉文件。

    4. 重啟SSH服務以使更改生效(例如,使用命令sudo service ssh restart)。

    5. 打開SFTP服務器配置文件(一般位於/etc/ssh/sshd_config)。

    6. 在文件中找到“Subsystem sftp”行,並在該行的末尾添加一個新的端口參數(例如,“-p 2223”)。

    7. 保存並關閉文件。

    8. 重啟SFTP服務器以使更改生效(例如,使用命令sudo service ssh restart)。

    這樣,您就可以通過不同的端口號訪問SSH和SFTP服務。配置不同的端口號有助於提高系統的安全性,因為攻擊者往往會掃描默認端口號,而將端口號修改為非默認值可以減少惡意訪問的風險。

  • 3 # 用戶2352565023936365

    1、兩個deamon

    要實現ssh和sftp分離,分別監聽不同的端口,可以通過創建兩個‘/usr/sbin/sshd’後臺程序,一個監聽22端口(ssh),一個監聽20022端口(sftp),為了區分ssh和sftp服務的後臺程序,這裡將ssh服務的後臺程序保持為/usr/sbin/sshd,而將sftp服務的後臺程序改為/usr/sbin/sftpd。/usr/sbin/sftpd是/usr/sbin/sshd的一個鏈接,其內容完全相同(ln -sf /usr/sbin/sshd /usr/sbin/sftpd)。

    2、兩個service

    SLES12使用systemd管理系統服務,ssh服務對應/usr/lib/systemd/system/sshd.service文件,實現sftp服務時可以將/usr/lib/systemd/system/sshd.service 複製到 /etc/systemd/system/sftpd.service,然後修改sftpd.service文件內容。(使用修改好的sftpd.service文件即可)

    3、其他文件系統的ssh服務是通過安裝openssh實現的,可以通過rpm -ql openssh查看該rpm包含哪些文件。總結實現ssh和sftp分離的相關的文件有:

    ssh服務 sftp服務

    /usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service (通過修改/usr/lib/systemd/system/sshd.service文件得到)

    /etc/pam.d/sshd /etc/pam.d/sftpd (通過複製 /etc/pam.d/sshd文件得到)

    /etc/ssh/sshd_config /etc/ssh/sftpd_config (通過複製/etc/ssh/sshd_config文件得到)

    /usr/sbin/rcsshd /usr/sbin/rcsftpd (ln -sf /usr/sbin/service /usr/sbin/rcsftpd)

    /usr/sbin/sshd /usr/sbin/sftpd (ln -sf /usr/sbin/sshd /usr/sbin/sftpd)

    /etc/sysconfig/ssh /etc/sysconfig/sftp (通過修改/etc/sysconfig/ssh文件得到)

    至此,我們已經實現了兩個服務。

    但是,ssh服務和sftp服務並沒有真正的分離,此時已然可以通過22號端口使用ssh服務和sftp服務,而新開的20022端口也可以使用ssh服務(ssh -p 20022 username@serverip )和sftp服務(sftp -o Port=20022 username@serverip )。

    4、關閉22號端口下的sftp服務編輯/usr/sbin/sshd的配置文件/etc/ssh/sshd_config文件,將Subsystem參數注釋掉,然後重啟sshd同時也可以設置可訪問22號端口的用戶白名單:編輯/etc/ssh/sshd_config文件,設置AllowGroups參數(假設設置為AllowGroups sshonly),限制僅AllowGroups組內的用戶可通過22號端口ssh登錄系統(對於需要ssh登錄系統的用戶可通過usermod -A sshonly <username>將其加入到AllowGroups組內)

    5、“關閉20022號端口下的ssh服務”sftp作為一個子服務,它的開啟依賴於ssh服務,因此不能從本質上關閉ssh服務而只開啟sftp服務。可以用以下方式來規避:/usr/sbin/sftpd的配置文件/etc/ssh/sftpd_config中包含Subsystem參數配置(推薦使用Subsystem sftp internal-sftp -l INFO -f AUTH)/etc/ssh/sftpd_config中包含AllowGroups參數(假設為AllowGroups sftponly),限制僅AllowGroups組內的用戶可以訪問20022端口將AllowGroups組內的用戶的shell改為/bin/false(usermod -s /bin/false <username>),使AllowGroups組內的用戶僅能sftp登錄系統(如果一個用戶即需要ssh,又需要sftp,則不能將其shell改為/bin/false)

    6、用戶白名單配置配置之後,需將系統內需要ssh訪問系統的用戶加入到sshonly組內,需將系統內需要sftp訪問系統的用戶加入到sftponly組,同時需要ssh和sftp的用戶則sshonly和sftponly組都要加入。

    7、 重啟ssh服務和sftp服務,並設置開機啟動

    service sshd restartservice sftpd restart

  • 中秋節和大豐收的關聯?
  • 二分之一是多少?