ssh伺服器有什麼行為
A. 用ssh登錄伺服器是什麼意思
SSH 為Secure Shell的縮寫,由 IETF 的網路工作小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其他網路服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題
B. SSH原理 and SSH遠程登錄
Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在應用層基礎上的安全網路協議。它是專為遠程登錄會話(甚至可以用Windows遠程登錄linux伺服器進行文件互傳)和其他網路服務提供安全性的協議,可有效彌補網路中的漏洞。通過SSH,可以把所有傳輸的數據進行加密,也能夠防止DNS欺騙和IP欺騙。還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。目前已經成為Linux系統的標准配置。
SSH只是一種協議,存在多種實現,既有商業實現,也有開源實現。本文主要介紹OpenSSH免費開源實現在Ubuntu中的應用,如果要在Windows中使用SSH,需要使用另一個軟體PuTTY。
SSH之所以能夠保證安全,原因在於它採用了非對稱加密技術(RSA)加密了所有傳輸的數據。
傳統的網路服務程序,如ftp、Pop和Telnet其本質上都是不安全的;因為它們在網路上用明文傳送數據、用戶帳號和用戶口令,很容易受到中間人(man-in-the-middle)攻擊方式的攻擊。就是存在另一個人或者一台機器冒充真正的伺服器接收用戶傳給伺服器的數據,然後再冒充用戶把數據傳給真正的伺服器。
但並不是說SSH就是絕對安全的,因為它本身提供兩種級別的驗證方法:
第一種級別(基於口令的安全驗證):只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的伺服器就是你想連接的伺服器。可能會有別的伺服器在冒充真正的伺服器,也就是受到「中間人攻擊」這種方式的攻擊。
第二種級別(基於密鑰的安全驗證):你必須為自己創建一對密鑰,並把公鑰放在需要訪問的伺服器上。如果你要連接到SSH伺服器上,客戶端軟體就會向伺服器發出請求,請求用你的密鑰進行安全驗證。伺服器收到請求之後,先在該伺服器上你的主目錄下尋找你的公鑰,然後把它和你發送過來的公鑰進行比較。如果兩個密鑰一致,伺服器就用公鑰加密「質詢」(challenge)並把它發送給客戶端軟體。客戶端軟體收到「質詢」之後就可以用你的私鑰在本地解密再把它發送給伺服器完成登錄。與第一種級別相比,第二種級別不僅加密所有傳輸的數據,也不需要在網路上傳送口令,因此安全性更高,可以有效防止中間人攻擊。
SSH分為客戶端 openssh-client 和伺服器 openssh-server,可以利用以下命令確認電腦上是否安裝了客戶端和伺服器。
如果只是想遠程登陸別的機器只需要安裝客戶端(Ubuntu默認安裝了客戶端),如果要開放本機的SSH服務就需要安裝伺服器。
首先確認ssh-server是否已經啟動了
如圖,sshd 表示ssh-server已經啟動了。如果沒有啟動,可以使用如下命令啟動:
停止和重啟ssh服務的命令如下:
接下來就可以進行使用客戶機遠程登錄伺服器了~
口令登錄非常簡單,只需要一條命令,命令格式為: **ssh 客戶端用戶名@伺服器ip地址 **eg:
如果需要 調用圖形界面程序 可以使用 -X 選項
如果客戶機的用戶名和伺服器的 用戶名相同 ,登錄時 可以省略 用戶名。
還要說明的是,SSH服務的 默認埠是22 ,也就是說,如果你不設置埠的話登錄請求會自動送到遠程主機的22埠。我們可以使用** -p 選項來修改埠號**,比如連接到伺服器的1234埠:
客戶機必須要知道伺服器的 ip地址 。可以在伺服器端電腦上利用** ifconfig** 命令查看該機的ip地址:
如果是第一次登錄遠程主機,系統會給出下面提示:
意思是,該遠程主機的真實性無法確定,其公鑰指紋為 SHA256:s8pZiuKQr7k7f+57j22lk/IdWC8143VQKR+EabeP5,確定想要繼續連接嗎?
輸入yes 即可。這時系統會提示遠程主機被添加到已知主機列表。
然後會要求我們輸入 遠程主機的密碼 ,輸入的密碼正確就可以成功登錄了。命令提示符會修改為遠程主機的提示符,現在開始,終端中輸入的命令都將在伺服器中執行。
我們可以通過** Ctrl+D** 或者 exit 命令 退出遠程登錄 。
每次登錄遠程主機都需要輸入密碼是很不方便的,如果想要省去這一步驟,可以利用密鑰對進行連接,還可以提高安全性。
1、在本機生成密鑰對
使用ssh-keygen命令生成密鑰對:
ssh-keygen -t rsa #-t表示類型選項,這里採用rsa加密演算法
然後根據提示一步步的按enter鍵即可(其中有一個提示是要求設置私鑰口令passphrase,不設置則為空,這里看心情吧,如果不放心私鑰的安全可以設置一下),執行結束以後會在 /home/當前用戶 目錄下生成一個 .ssh 文件夾,其中包含私鑰文件 id_rsa 和公鑰文件 id_rsa.pub。
2、將公鑰復制到遠程主機中
使用ssh--id命令將公鑰復制到遠程主機。ssh--id會將公鑰寫到遠程主機的 ~/ .ssh/authorized_key 文件中
ssh--id [email protected]
經過以上兩個步驟,以後再登錄這個遠程主機就不用再輸入密碼了。
1)已獲取登錄實例的管理員帳號及密碼(或密鑰)。
2)雲伺服器實例已開通22號埠。
—使用密碼登錄
Host Name(or IP address) :伺服器的IP地址;
Port :伺服器的埠,必須設置為22;
Connect type :選擇 「SSH」;
Saved Sessions :填寫會話名稱,例如 test。 配置 「Host Name」 後,再配置 「Saved Sessions」 並保存,則後續使用時您可直接雙擊 「Saved Sessions」 下保存的會話名稱即可登錄伺服器;
登錄完成後,命令提示符左側將顯示當前登錄雲伺服器的信息。
—使用密鑰登錄
Ps: 當不存在私鑰文件時,可以選擇Conversions > Import key 導入公鑰(.pem)文件來生成私鑰文件(.ppk)
Host Name (IP address) :伺服器的IP;
Port :伺服器的埠,必須填 22;
Connect type :選擇 「SSH」;
Saved Sessions :填寫會話名稱,例如 test。 配置 「Host Name」 後,再配置 「Saved Sessions」 並保存,則後續使用時您可直接雙擊 「Saved Sessions」 下保存的會話名稱即可登錄伺服器;
登錄完成後,命令提示符左側將顯示當前登錄伺服器的信息。
C. ssh的結構
SSH是由客戶端和服務端的軟體組成的,有兩個不兼容的版本分別是:1.x和2.x。 用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務程序上去的。OpenSSH 2.x同時支持SSH 1.x和2.x。
服務端是一個守護進程(daemon),他在後台運行並響應來自客戶端的連接請求。服務端一般是sshd進程,提供了對遠程連接的處理,一般包括公共密鑰認證、密鑰交換、對稱密鑰加密和非安全連接。
客戶端包含ssh程序以及像scp(遠程拷貝)、slogin(遠程登陸)、sftp(安全文件傳輸)等其他的應用程序。
他們的工作機制大致是本地的客戶端發送一個連接請求到遠程的服務端,服務端檢查申請的包和IP地址再發送密鑰給SSH的客戶端,本地再將密鑰發回給服務端,自此連接建立。SSH 1.x和SSH 2.x在連接協議上有一些差異。
一旦建立一個安全傳輸層連接,客戶機就發送一個服務請求。當用戶認證完成之後,會發送第二個服務請求。這樣就允許新定義的協議可以與上述協議共存。連接協議提供了用途廣泛的各種通道,有標準的方法用於建立安全互動式會話外殼和轉發(「隧道技術」)專有 TCP/IP 埠和 X11 連接。
SSH被設計成為工作於自己的基礎之上而不利用超級伺服器(inetd),雖然可以通過inetd上的tcpd來運行SSH進程,但是這完全沒有必要。啟動SSH伺服器後,sshd運行起來並在默認的22埠進行監聽(你可以用 # ps -waux | grep sshd 來查看sshd是否已經被正確的運行了)如果不是通過inetd啟動的SSH,那麼SSH就將一直等待連接請求。當請求到來的時候SSH守護進程會產生一個子進程,該子進程進行這次的連接處理。
D. 使用SSH 代理被監控的內容是什麼
你好,
使用SSH代理訪問被限制的網站,因為SSH代理是安全加密的,連g.f.w都沒能破解這種加密,所以您公司的監控軟體是無法監控到您訪問的什麼網站,最多隻能監控到有數據傳輸到遠程ssh伺服器22埠,如果您使用的SSH埠開了80或者443埠的話,公司的監控軟體會以為是正常的網路連接~識別不出來。
SSH代理 www.usassh.com 支持22 80 443等多埠 高速穩定~
E. SSH是什麼意思
是一種加密的網路傳輸協議。
可在不安全的網路中為網路服務提供安全的傳輸環境。SSH通過在網路中創建安全隧道來實現SSH客戶端與伺服器之間的連接。SSH最常見的用途是遠程登錄系統,人們通常利用SSH來傳輸命令行界面和遠程執行命令。
使用頻率最高的場合類Unix系統,但是Windows操作系統也能有限度地使用SSH。2015年,微軟宣布將在未來的操作系統中提供原生SSH協議支持,Windows10 1809 版本已提供可手動安裝的OpenSSH工具。
(5)ssh伺服器有什麼行為擴展閱讀
ssh結構
SSH是由客戶端和服務端的軟體組成的,有兩個不兼容的版本分別是:1.x和2.x。 用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務程序上去的。OpenSSH 2.x同時支持SSH 1.x和2.x。
1、服務端是一個守護進程(daemon),他在後台運行並響應來自客戶端的連接請求。服務端一般是sshd進程,提供了對遠程連接的處理,一般包括公共密鑰認證、密鑰交換、對稱密鑰加密和非安全連接。
2、客戶端包含ssh程序以及像scp(遠程拷貝)、slogin(遠程登陸)、sftp(安全文件傳輸)等其他的應用程序。
3、他們的工作機制大致是本地的客戶端發送一個連接請求到遠程的服務端,服務端檢查申請的包和IP地址再發送密鑰給SSH的客戶端,本地再將密鑰發回給服務端,自此連接建立。SSH 1.x和SSH 2.x在連接協議上有一些差異。
SSH被設計成為工作於自己的基礎之上而不利用超級伺服器(inetd),雖然可以通過inetd上的tcpd來運行SSH進程,但是這完全沒有必要。
啟動SSH伺服器後,sshd運行起來並在默認的22埠進行監聽(你可以用 # ps -waux | grep sshd 來查看sshd是否已經被正確的運行了)如果不是通過inetd啟動的SSH,那麼SSH就將一直等待連接請求。當請求到來的時候SSH守護進程會產生一個子進程,該子進程進行這次的連接處理 。
F. 什麼叫ssh伺服器
這個是個遠程登陸的,j就如FTP伺服器似的z主要在Linux系統xi下
G. 【Linux】SSH 使用密碼/公鑰遠程登錄總結
本文是筆者查閱網上資料做的總結,關於SSH原理,什麼是對稱加密和非對稱加密,本文不過多介紹。這里介紹一下SHH的工作過程、配製方法,可能出現的問題及解決方法。
說明:本文中涉及的例子,SSH客戶端為:本地主機A,SSH伺服器為:伺服器B
SSH協議採用C-S(客戶端-伺服器端)架構進行雙方的身份驗證以及數據的加密。
伺服器端組件監聽指定的埠,負責安全連接的建立、對連接方的身份認證、以及為通過身份認證的用戶建立正確的環境。
客戶端負責發起最初的TCP握手、安全連接的建立、驗證伺服器的身份與之前記錄中的一致、並將自己的驗證信息提供給伺服器。
一個SSH會話的建立過程分為兩個階段。第一階段,雙方溝通並同意建立一個加密連接通道以供後續信息傳輸用。第二階段,對請求接入的用戶進行身份驗證以確定伺服器端是否要給該用戶開放訪問許可權。
當客戶端發起TCP連接時,伺服器端返回信息說明自己支持的協議版本,如果客戶端上支持的協議與之匹配,則連接繼續。伺服器會提供自己的公共主機密鑰(public host key)以讓客戶端確認自己訪問的是正確的機器。
然後,雙方採用一種Diffie-Hellman演算法共同為該會話建立密鑰。每一方的一部分私有數據,加上來自對方的一部分公共數據,通過這種演算法計算,能夠得出完全相同的密鑰用於本次會話。
整個會話的通訊內容都使用該密鑰進行加密。這個階段使用的公鑰/私鑰對與用戶驗證身份用的SSH密鑰是完全無關的。
經典Diffie-Hellman演算法的計算步驟如下:
這個共享密鑰的加密方式被稱為二進制數據包協議(binary packet protocol)。該過程能夠讓雙方平等的參與密鑰生成的過程,而不是由單方掌握。這種共享密鑰生成的過程是安全的,雙方沒有交換過任何未經加密的信息。
生成的密鑰是對稱式密鑰,一方用於加密信息的密鑰等同於另一方用於解密信息的密鑰,而任何第三方由於不持有該密鑰,是無法解密雙方傳遞的內容的。
會話加密通道建立後,SSH開始進入用戶認證階段。
下一步,伺服器驗證用戶身份以決定是否准許其訪問。驗證有不同的方式,選擇的驗證方式取決於伺服器的支持。
最簡單的驗證是密碼驗證:伺服器要求客戶端輸入密碼,客戶端輸入的密碼經過上述的通道加密傳輸給伺服器。
雖然密碼是加密過的,然而該方法仍然不被推薦,因為用戶經常為了省事而使用過於簡單的密碼,而這類密碼很容易就能夠被自動化腳本破解。
最流行的驗證方式是SSH密鑰對,這也是當前最推薦的方式。SSH密鑰對是非對稱密鑰,私鑰和公鑰分別用於不同的功能。
公鑰用於加密,而私鑰用於解密。公鑰可以隨意上傳、共享,因為公鑰的流通並不會危及到私鑰的保密性。
SSH密鑰對的驗證過程起始於上一部分加密通道建立之後,其具體執行步驟如下:
簡單來說,伺服器端用公鑰加密信息,客戶端用私鑰解密信息以證明自己持有私鑰。該過程同時使用了對稱加密和非對稱加密,兩種方式各有自己的功用。
命令如下:
用戶名:為要登錄的伺服器B中已存在的用戶賬戶名
IP地址:為伺服器B的IP地址
-p 埠號:用來指定埠號,默認為22
第一次登錄時,會提示如下提示:
大概意思是說,你正在訪問的主機不能驗證它的真實性,它的RSA key(當前訪問主機的公鑰)指紋是怎樣的,你確定要繼續連接嗎?
輸入yes繼續,會提示,已永久把當前訪問主機的RSA key添加到了已知主機文件(用戶目錄下,.ssh 文件夾中的knwon_hosts文件)中。之後再次 SSH 登錄就不再有該提示了。
接著,輸入登錄賬戶的密碼即可。
SSH 密碼登錄,需要伺服器開啟密碼驗證許可權,編輯伺服器SSH配置命令如下:
在 sshd_config 文件中,Protocol 2 下面 #PasswordAuthentication yes,將前面的#號去掉,保存退出。
公鑰登錄,即免密碼登錄。避免的每次登錄都要輸入的麻煩,也防止了中間人攻擊。是SSH遠程登錄最常用的登錄方式。
提示輸入密鑰對名稱,直接回車,使用默認名稱即可;
提示輸入密碼(使用私鑰時,要輸入密碼),直接回車,不使用密碼即可。
首先,登錄伺服器B,在進行下面的操作。
找到 #PubkeyAuthentication yes,刪除 #號,保存退出。
重啟 ssh 服務
也可指定驗證私鑰:
本地主機A,生成密鑰對後:
sudo vim /etc/selinux/config
H. Linux伺服器的SSH是什麼意思做什麼用
使用過Windows伺服器的朋友,想必對遠程桌面連接是不會陌生的吧,遠程桌面連接默認埠是3389,使用遠程桌面連接就可以遠程管理你這個台伺服器了。那麼SSH也是和遠程桌面連接類似概念和作用的東西,字面上理解,他是網路傳輸中的一種安全傳輸方式或者傳輸協議,他默認使用的埠是22。這個埠號通常為了安全,和windows伺服器的遠程桌面連接一樣,要改掉。
I. Linux下SSH和SSHD區別是什麼
ssh是客戶端連接工齡,sshd是服務端進程。
ssh_config和sshd_config都是ssh伺服器的配置文件,二者區別在於,前者是針對客戶端的配置文件,後者則是針對服務端的配置文件。兩個配置文件都允許你通過設置不同的選項來改變客戶端程序的運行方式。
SSH是Secure Shell的縮寫,也叫做安全外殼協議。SSH的主要目的是實現安全遠程登錄。《Linux就該這么學》了解更多linux內容