在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SSH遠程登錄與控制教程

馬哥Linux運維 ? 來源:CSDN技術社區 ? 2025-04-09 13:43 ? 次閱讀

SSH遠程登錄與控制

一 什么是ssh服務器

SSH(Secure Shell)是一種安全通道協議,主要用來實現字符界面的遠程登錄、遠程 復制等功能。SSH 協議對通信雙方的數據傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令,SSH 為建立在應用層和傳輸層基礎上的安全協議。對數據進行壓縮,加快傳輸速度。

SSH客戶端<--------------網絡---------------->SSH服務端

1 協議類型

? SSH(Secure Shell):SSH是一種加密網絡協議,用于通過安全通道在不安全網絡上進行遠程訪問和管理。它提供了加密的通信會話,包括遠程登錄和執行命令,以及傳輸文件等功能

? Telnet:雖然不安全,但仍然被用于遠程登錄到服務器或設備,通常用于簡單的文本交互

? RDP(Remote Desktop Protocol):主要用于Windows系統,允許用戶通過圖形界面遠程訪問另一臺計算機。

? VNC(Virtual Network Computing):允許用戶遠程控制另一臺計算機的圖形界面。它是跨平臺的遠程桌面協議。

? X11:用于在UNIX和Linux系統上進行圖形界面的遠程訪問。

? ICA(Independent Computing Architecture):由Citrix Systems開發,用于提供應用程序和桌面虛擬化服務

2 ssh協議優點

數據傳輸是加密的,可以防止信息泄露

數據傳輸是壓縮的,可以提高傳輸速度

?加密通信:SSH協議通過加密技術,確保通信過程中的數據傳輸是安全的,防止數據被竊聽或篡改

? **遠程登錄:**用戶可以使用SSH協議遠程登錄到其他計算機或服務器,以便進行命令行操作、文件管理等任務

?加密身份驗證:SSH協議支持使用公鑰和私鑰對進行身份驗證,這種方式比傳統的基于密碼的身份驗證更加安全

?端口轉發:SSH協議支持端口轉發,可以通過安全的通道在兩個計算機之間建立安全的連接

?遠程執行命令:SSH允許用戶在遠程主機上執行命令,這對于自動化腳本和遠程管理非常有用

?文件傳輸:SSH協議還支持安全的文件傳輸,可以在客戶端和服務器之間進行安全的文件傳輸和管理

作用

sshd 服務使用 SSH 協議可以用來進行遠程控制,或在計算機之間傳送文件。

ssh服務端主要包括兩個服務功能 ssh遠程鏈接和sftp服務(文件傳輸功能)

3 SSH的 軟件

SSH 客戶端: xshell putty secureCRT MobaXterm finalshell

SSH 服務端:openSSH (Centos 7 默認安裝)

4 有關系的程序

? OpenSSH:OpenSSH 是 SSH 協議的免費開源實現,包括服務器端和客戶端程序。它支持加密和身份驗證功能,被廣泛用于Linux和類Unix系統上

? PuTTY:PuTTY 是一個流行的免費的SSH和Telnet客戶端程序,可在Windows平臺上使用。它提供了SSH連接所需的工具和功能

? WinSCP:WinSCP 是一個免費的SFTP、SCP和FTP客戶端程序,用于在Windows平臺上與遠程計算機進行安全文件傳輸。它支持SSH協議,提供了用戶友好的界面

? SecureCRT:SecureCRT 是一個商業化的SSH客戶端程序,提供了強大的功能和定制選項,適用于Windows、Mac和Linux操作系統

5 公鑰傳輸原理

①客戶端發起連接請求

②服務端返回自己的公鑰,以及一個會話ID(這一步客戶端得到服務端公鑰)

③客戶端生成密鑰對

④客戶端用自己的公鑰或會話ID,計算出一個值Res,并用服務端的公鑰加密

⑤客戶端發送加密后的值到服務端,服務端用密鑰解密,得到Res

⑥服務端用解密后的Res或者是會話ID,計算出客戶端的公鑰(這一步服務端得到客戶端公鑰)

⑦最終:雙方各持有三個密鑰,分別為自己的一對公鑰、私鑰、以及對方的公鑰,之后的所有的通訊都會被加密。

6 加密通訊原理

42dff18e-1394-11f0-9310-92fbcf53809c.png

詳細闡釋:

首先ssh通過加密算法在客戶端產生密鑰對(公鑰和私鑰),公鑰發送給服務器端,自己保留私鑰,如果要想連接到帶有公鑰的SSH服務器,客戶端SSH軟件就會向SSH服務器發出請求,請求用聯機的用戶密鑰進行安全驗證。SSH服務器收到請求之后,會先在該SSH服務器上連接的用戶的家目錄下

7 ssh遠程登錄文件

每次使用sshd登錄到其他主機,雙方都會生成一個文件known_hosts把對方主機的公鑰在.ssh/known_hosts文件里。

8 如何確定此臺機器就是我要連的機器?

1. ssh [選項][email protected] #指定登錄用戶、目標主機地址作為參數

2. ssh -p [email protected] #-p為指定端口

二 ssh命令 遠程連接

①直接連接:先輸入ssh IP

4314a9a6-1394-11f0-9310-92fbcf53809c.png

第一次連接服務端機器會詢問是否要驗證公鑰,同意就會自動獲取服務端公鑰

43252542-1394-11f0-9310-92fbcf53809c.png

驗證是否連接正確服務機,可查看服務端的公鑰

43328d2c-1394-11f0-9310-92fbcf53809c.png

②連接指定用戶

① ssh 用戶名@IP地址

②ssh -l 用戶名 IP地址

4342a90a-1394-11f0-9310-92fbcf53809c.png

③指定端口號

在 /etc/ssh/sshd_config文件修改端口號

sshd服務的默認端口號是 22,如果不是此端口,需要 -p 來指定端口

[root@localhost ~]#vim /etc/ssh/sshd_config

4351702a-1394-11f0-9310-92fbcf53809c.png

[root@localhost ~]#systemctl restart sshd

在另一臺虛擬機驗證,使用客戶機就需要指定端口號

43605d60-1394-11f0-9310-92fbcf53809c.png

跳板登錄

提供了一種安全的方式管理和連接位于內部網絡中的主機,同時限制了對內部網絡的直接訪問

#在目標服務端主機上模擬防火墻拒絕客戶端連接,客戶端使用跳板連接到目標主機上
[root@localhost .ssh]#iptables -A INPUT -s 192.168.11.5-j REJECT
[root@localhost ~]#ssh -t 192.168.11.9 ssh 192.168.11.5

三 遠程登錄直接執行操作命令

#ssh 192.168.11.9 ifconfig

**白名單:**默認拒絕所有,只有白名單上允許的人才可以訪問

**黑名單:**默認允許所有,只有黑名單上的用戶讓你不允許訪問

注意 實驗關閉防火墻 防護 黑白不能同時啟用

修改服務端配置文件

root@localhost ~]#vim /etc/ssh/sshd_config

437231a2-1394-11f0-9310-92fbcf53809c.png

437f3dde-1394-11f0-9310-92fbcf53809c.png

① 白名單,只能登錄本機的mcb@用戶

438cb18a-1394-11f0-9310-92fbcf53809c.png

43998234-1394-11f0-9310-92fbcf53809c.png

別的用戶無法登錄

43a8c082-1394-11f0-9310-92fbcf53809c.png

③禁止用戶登錄 ,此實驗要反復去做

借鑒他人

[root@localhost ssh]#vim /etc/ssh/sshd_config
#開啟38 行 并改為 no,默認注釋并寫的yes
38PermitRootLogin no
#注意雖然阻止了root 但是普通用戶可以使用su
[root@localhost1 ~]#ssh [email protected] -p 9527
[email protected]'s password:
Last login: Fri Aug2716:50:352021
[zhangsan@localhost2 ~]$
[zhangsan@localhost2 ~]$ su root
密碼:
[root@localhost2 zhangsan]#


修改 pam認證模塊
[root@localhost ssh]#vim /etc/pam.d/su
#開啟第6行,默認注釋
6auth      required    pam_wheel.so use_uid

vim /etc/ssh/sshd_config

38 #PermitRootLogin yes 把yes該為no
Xshell就登陸不上

修改pam認證模塊,只允許wheel組用戶可以使用 su

[root@localhost ~]# vim /etc/pam.d/su

6 #auth required pam_wheel.so use_uid
默認是注釋掉,要讓6行開啟

操作如下:

[root@localhost ~]# vim /etc/pam.d/su

43b5a658-1394-11f0-9310-92fbcf53809c.png

太遺憾了,過程忘了

四 SSH服務的最佳實踐

①建議使用非默認端口22

vim /etc/ssh/sshd_config
#找到以下兩個配置項:
port 123    #設置特定的ssh服務端口號

②禁止使用 protocol version 1

因為SSH協議版本一存在多個已知的安全漏洞,其使用的加密算法和密鑰交換機制相對較弱,易受到中間人攻擊等威脅

SSH 協議版本二已經成為現代標準,并且得到廣泛支持,絕大多數 SSH 客戶端和服務器都默認使用協議版本二,而且很多安全性工具也不再支持協議版本一

③限制可登錄用戶(白名單)

④設定空閑會話超時時長

vim /etc/ssh/sshd_config      #找到以下兩個配置項:

ClientAliveInterval 0

ClientAliveCountMax 3

ClientAliveInterval:表示服務器向客戶端發送空閑會話確認消息的時間間隔,單位為秒。默認值為0,表示不發送確認消息。將其設置為一個正整數,表示每隔多長時間向客戶端發送一次確認消息。

ClientAliveCountMax:表示服務器向客戶端發送確認消息后,客戶端沒有響應的最大次數。默認值為3,表示如果服務器連續發送3次確認消息后,客戶端仍未響應,則認為客戶端已經斷開連接。將其設置為一個正整數,表示服務器最多發送多少次確認消息后,認為客戶端已經斷開連接

⑤利用防火墻設置SSH訪問策略

#利用防火墻禁止特定IP地址:172.16.12.10訪問
iptables -A INPUT -s 172.16.12.10 -j REJECT

⑥僅監聽特定的IP地址、公網、內網

vim /etc/ssh/sshd_config      #找到以下三個配置項:

ClientAliveInterval 300

ClientAliveCountMax 2

ListenAddress 192.168.11.10

ClientAliveInterval:表示SSH服務器將向客戶端發送空閑會話檢查的時間間隔(以秒為單位),默認值為0,表示禁用此功能

ClientAliveCountMax:表示SSH服務器將向客戶端發送空閑會話檢查的最大次數,如果達到此次數后仍未收到客戶端的響應,則會話將被終止,默認值為3

ListenAddress:監聽特定的IP地址的SSH連接

⑦基于口令認證時,使用強密碼策略

1. 比如:tr -cd [a-zA-Z0-9] < /dev/random ?| ?head -c 12 | xargs

2. #設定12位的隨機密碼

⑧使用基于密鑰的認知

⑨禁止使用空密碼

vim /etc/ssh/sshd_config

#找到以下一個配置項:

PermitEmptyPasswords no #禁止使用空密碼

⑩禁止root用戶直接登錄

11 限制ssh的訪問頻率和并發在線數

vim /etc/ssh/sshd_config      #找到以下一個配置項:

MaxStartups 10          #最多允許10個并發連接,如果超過這個數量,會拒絕新的連接

使用PAM模塊:通過Pluggable Authentication Modules (PAM) 可以實現更復雜的控制,
例如限制用戶的并發登錄數

使用防火墻:你也可以使用防火墻軟件如iptables來限制從特定IP地址發起的并發SSH連接數

12 經常分析日志分離

獨立sshd服務日志文件:默認sshd服務日志在/var/log/secure下,可通過rsyslog程序將sshd服務日志文件獨立出來放到特定的文件夾中,方便查看和管理。
(具體操作請查看《Linux文件系統與日志分析》博客)

使用日志分析工具:可以使用工具如grep、awk、sed等來分析SSH日志文件。這些工具可以幫助搜索特定的關鍵字、過濾信息、提取有用的數據等

設置日志輪轉:為了避免日志文件過大,可以配置日志輪轉。通過日志輪轉,舊的日志文件會被重命名并壓縮,同時創建新的日志文件。可以使用logrotate工具來實現日志輪轉,并在其配置文件中指定SSH日志文件的處理方式(具體操作請查看《Linux文件系統與日志分析》博客)

五 openSSH服務器配置文件

openSSH是實現SSH協議的開源軟件項目,適用于各種UNIX、Linux操作系統

執行“systemctl start sshd”命令即可啟動sshd服務,默認端口使用的22端口

服務名稱:sshd

服務端主程序:/usr/sbin/sshd

服務端配置文件:/etc/ssh/sshd_config

客戶端配置文件:/etc/ssh/ssh_config

1 ssh配置文件信息

在linux中實現ssh,是通過opsnSSH的sshd服務提供的

43c7084e-1394-11f0-9310-92fbcf53809c.png

2 存放ssh服務端的配置文件 /etc/ssh/sshd_config

[root@localhost ~]#vim /etc/ssh/sshd_config

43d69246-1394-11f0-9310-92fbcf53809c.png

六 密鑰對免交互 驗證登錄

有密碼又無需輸入密碼

1 創建密鑰,生成rsa算法密鑰

43e730ec-1394-11f0-9310-92fbcf53809c.png

2 傳送到遠程主機

43facf26-1394-11f0-9310-92fbcf53809c.png

3 登錄驗證

44084bec-1394-11f0-9310-92fbcf53809c.png

七 免交互登錄

客戶端先輸入 ssh-agent bash 將這個命令交給 bash 去管理

再輸入 ssh-add 是將用戶的私鑰添加到運行中的 ssh-agent 中,這樣在后續的SSH連接過程中,就不需要每次都手動輸入私鑰的密碼了。一旦私鑰被添加到ssh-agent 中,它會暫時保存解密后的私鑰以供后續使用

[root@localhost .ssh]# ssh-agent bash            #把sh-agent交給進程管理

[root@localhost .ssh]# ssh-add                 #把密碼交給sh-agent 

Enter passphrase for /root/.ssh/id_rsa:           #輸入密鑰文件密碼

Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

[root@localhost .ssh]# ssh 192.168.11.6     #無需密碼即可登錄,重啟后失效

Last login: Sun Jan 21 1403 2024 from 192.168.11.9

注:機器重啟就會失效

鏈接:https://blog.csdn.net/MCB134/article/details/135577909

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9559

    瀏覽量

    86878
  • WINDOWS
    +關注

    關注

    4

    文章

    3594

    瀏覽量

    90613
  • 客戶端
    +關注

    關注

    1

    文章

    296

    瀏覽量

    16918
  • SSH
    SSH
    +關注

    關注

    0

    文章

    192

    瀏覽量

    16672

原文標題:SSH遠程登錄保姆級教程:從零到精通,告別連接失敗!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何遠程登錄云服務器?登錄失敗是什么原因?

    我用Linux云服務器,遇到了有關遠程登錄的一些問題,于是搜索了一些資料,整理了一篇文檔,作為記錄。如果你也遇到過 相似的問題,歡迎一起探討! 一、Linux云服務器的遠程登錄
    發表于 02-01 15:32

    如何實現遠程登錄ssh并配置為開機啟動

    今天教論壇的發燒友們如何實現遠程登錄ssh,并配置為開機啟動!千萬要注意的一點,ssh和ssl不能混淆安裝并運行ssh1,安裝sshapt-
    發表于 09-12 10:32

    如何使用SSH遠程命令登錄香橙派開發板

    地址為了遠程登錄香橙派開發板,首先需要獲取開發板的 IP 地址。我們可以通過串口來查看。3.使用 ssh 遠程登錄香橙派開發板3.1使用
    發表于 05-22 17:16

    SSH遠程登錄香橙派Zero2開發板的操作方法

    `1、Ubuntu下SSH遠程登錄開發板<span]3) 成功登錄系統后的顯示如下圖所示可以在開發板上輸入下面的命令再嘗試是否能連接2、Windows 下
    發表于 12-23 17:58

    路由器方案板香橙派R1 Plus如何使用SSH遠程登錄

    `不太了解OrangePi R1 Plus這款開發板的開發者,可以對比下NanoPi R2S,配置一樣。作為路由器方案板, R1 Plus適配有OpenWRT, 系統默認都開啟了 ssh 遠程登錄
    發表于 05-11 18:07

    如何在Ubuntu下實現SSH遠程登錄開發板的設計呢

    如何在Ubuntu下實現SSH遠程登錄開發板的設計呢?如何在Windows下實現SSH遠程登錄
    發表于 03-09 07:14

    如何使用ssh遠程登錄虛擬機?

    我pc上安裝的虛擬機和pc可以互相ping通,但是使用ssh遠程登錄時,不用名輸入root或forlinx,都不能遠程登錄,請問該怎么實現
    發表于 11-25 06:15

    linux系統如何登錄遠程linux服務器

    linux系統登錄遠程linux服務器:有多種不同的協議可供選擇,也許SSH是“最好”的。SSH是secure shell的簡寫,意為“安全的shell”。作為rlogin、rcp、
    發表于 05-14 09:35 ?3612次閱讀
    linux系統如何<b class='flag-5'>登錄</b>到<b class='flag-5'>遠程</b>linux服務器

    【米爾MYD-J1028X開發板試用體驗】實現SSH遠程登錄,系統測評

    本文來源電子發燒友社區,作者:mameng, 帖子地址: https://bbs.elecfans.com/jishu_2308785_1_1.html ? 開發板 默認沒有開啟SSH遠程登錄
    的頭像 發表于 10-25 11:24 ?1318次閱讀
    【米爾MYD-J1028X開發板試用體驗】實現<b class='flag-5'>SSH</b><b class='flag-5'>遠程</b><b class='flag-5'>登錄</b>,系統測評

    SSH命令詳解

    ssh是一種安全的遠程登錄及傳輸協議。ssh可用于遠程登錄
    的頭像 發表于 06-02 10:00 ?1.8w次閱讀
    <b class='flag-5'>SSH</b>命令詳解

    SSH/Telnet設備遠程登錄方式實際綜合運用

    SSH和Telnet都是遠程連接控制協議,在網絡技術的應用中常被用于遠程連接控制路由器和交換機,方便工程師
    發表于 06-11 09:12 ?1466次閱讀
    <b class='flag-5'>SSH</b>/Telnet設備<b class='flag-5'>遠程</b><b class='flag-5'>登錄</b>方式實際綜合運用

    如何配置交換機SSH遠程登錄

    如何配置交換機SSH遠程登錄,本期我們就來了解下ssh遠程登陸的方式,以銳捷交換機為例。
    的頭像 發表于 08-02 09:35 ?4213次閱讀
    如何配置交換機<b class='flag-5'>SSH</b><b class='flag-5'>遠程</b><b class='flag-5'>登錄</b>?

    交換機如何配置SSH遠程登錄

    從事網絡運維工作的小伙伴們都知道,在交換機正式上線時,必須完成配置SSH遠程登錄,這樣做目的是為了日后,維護方便,不需要每次登錄設備都要跑到機房,這樣既不現實,又費事。
    的頭像 發表于 10-10 14:33 ?1814次閱讀
    交換機如何配置<b class='flag-5'>SSH</b><b class='flag-5'>遠程</b><b class='flag-5'>登錄</b>

    SSH遠程操作的基本方式

    SSH 是 Linux 下進行遠程連接的基本工具,但是如果僅僅用它來登錄那可是太浪費啦!SSH 命令可是完成遠程操作的神器啊,借助它我們可以
    的頭像 發表于 11-11 11:15 ?597次閱讀
    <b class='flag-5'>SSH</b><b class='flag-5'>遠程</b>操作的基本方式

    禁止使用root用戶通過ssh遠程登錄Linux

    1、背景描述 出于安全考慮,需要禁止使用root用戶通過ssh遠程登錄Linux 禁用root用戶遠程登錄后,需要提供一個權限用戶用于
    的頭像 發表于 12-21 16:25 ?1106次閱讀
    禁止使用root用戶通過<b class='flag-5'>ssh</b><b class='flag-5'>遠程</b><b class='flag-5'>登錄</b>Linux
    主站蜘蛛池模板: 久久夜色精品国产飘飘 | 性欧美处 | 亚洲春色www | 国产卡一卡2卡三卡免费视频 | 深夜免费在线视频 | 手机看片1024免费视频 | 在线视频一区二区三区四区 | 欧美午夜大片 | 在线色色视频 | 国产黄在线观看免费观看不卡 | 天天操婷婷 | 99久久婷婷免费国产综合精品 | 国产一级毛片国语版 | 天堂中文字幕在线 | 五月婷婷综合色 | 午夜欧美在线 | 欧美美女被日 | 亚洲日本欧美日韩高观看 | 国产在线播 | xxxx日本69xxxxx| 你懂得视频在线 | 亚洲网站一区 | 国产一级特黄特色aa毛片 | 国产美女在线精品免费观看 | 俺来也婷婷 | yy6080一级毛片高清 | 国产精品17p | 久久精品综合 | 91精品国产色综合久久不卡蜜 | 日本黄a | 大桥未久加勒比女热大陆在线 | 亚洲精品福利网站 | 欧美三级日韩三级 | se色综合视频 | tom影院亚洲国产一区二区 | 亚洲天堂ww | 国产精品亚洲玖玖玖在线靠爱 | 在线播放91灌醉迷j高跟美女 | 午夜影视在线观看 | aa在线视频 | 国产成在线人视频免费视频 |