Linux中SSH遠(yuǎn)程訪問(wèn)和控制的實(shí)現(xiàn)
一、SSH服務(wù)的概述
1.1、概念
SSH(Secure Shell)是一種安全通道協(xié)議,主要用來(lái)實(shí)現(xiàn)字符界面的遠(yuǎn)程登錄、遠(yuǎn)程 復(fù)制等功能。SSH 協(xié)議對(duì)通信雙方的數(shù)據(jù)傳輸進(jìn)行了加密處理,其中包括用戶登錄時(shí)輸入的用戶口令,SSH 為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。
SSH客戶端: Putty、 Xshell、 CRT、MobaXterm、FinalShell
1.2、SSH數(shù)據(jù)傳輸原理
SSH客戶端與服務(wù)端是通過(guò)網(wǎng)絡(luò)來(lái)進(jìn)行數(shù)據(jù)文件傳輸?shù)?,?shù)據(jù)傳輸是加密的,可以防止信息泄露,(并不安全)數(shù)據(jù)傳輸是壓縮的,可以提高傳輸速度。
1.3、SSH服務(wù)端: OpenSSH
OpenSSH 是實(shí)現(xiàn)SSH協(xié)議的開(kāi)源軟件項(xiàng)目,適用于各種UNIX、 Linux 操作系統(tǒng)。
Centos 7系統(tǒng)默認(rèn)已安裝openssh相關(guān)軟件包,并將sshd 服務(wù)添加為開(kāi)機(jī)自啟動(dòng)。
執(zhí)行"systemctl start sshd"命令即可啟動(dòng)sshd 服務(wù)
sshd 服務(wù)默認(rèn)使用的是TCP的22端口,安全協(xié)議版本sshv2,出來(lái)2之外還有1(有漏洞)
sshd服務(wù)的默認(rèn)配置文件是/etc/ssh/sshd_config
ssh_config和sshd_config都是ssh服務(wù)器的配置文件,二者區(qū)別在于前者是針對(duì)客戶端的配置文件,后者則是針對(duì)服務(wù)端的配置文件。
ssh服務(wù)端主要包括兩個(gè)服務(wù)功能 ssh遠(yuǎn)程鏈接和sftp服務(wù)
- OpenSSH 常用配置文件有兩個(gè)/etc/ssh/ssh_config 和/etc/sshd_config。
- ssh_config:為客戶端配置文件,設(shè)置與客戶端相關(guān)的應(yīng)用可通過(guò)此文件實(shí)現(xiàn)
- sshd_config:為服務(wù)器端配置文件,設(shè)置與服務(wù)端相關(guān)的應(yīng)用可通過(guò)此文件實(shí)現(xiàn)。
二、配置OpenSSH服務(wù)端
vim /etc/ssh/sshd_config
Port 22 ### 監(jiān)聽(tīng)端口為22 ListenAddress 0.0.0.0 ###監(jiān)聽(tīng)地址為任意網(wǎng)段,也可用指定OpenSSH服務(wù)器的具體IP UseDNS no ###禁用DNS反向解析,以提高服務(wù)器的響應(yīng)速度
三、sshd 服務(wù)的兩種驗(yàn)證方式
3.1、密碼驗(yàn)證
對(duì)服務(wù)器中本地系統(tǒng)用戶的登錄名稱、密碼進(jìn)行驗(yàn)證。簡(jiǎn)便,但可能會(huì)被暴力 破解。
3.2、密鑰對(duì)驗(yàn)證
要求提供相匹配的密鑰信息才能通過(guò)驗(yàn)證,通常先在客戶端中創(chuàng)建一對(duì)密鑰文件(公鑰、私鑰),然后將公鑰文件放到服務(wù)器中的指定位置。遠(yuǎn)程登錄時(shí),系統(tǒng)將使用公鑰、私鑰進(jìn)行加密/解密關(guān)聯(lián)驗(yàn)證。能增強(qiáng)安全性,且可用免交換登錄。相當(dāng)于鑰匙和鎖的關(guān)系
密鑰有兩種
對(duì)稱密鑰
非對(duì)稱密鑰
非對(duì)稱:RSA,創(chuàng)建出一個(gè)公鑰,一個(gè)私鑰,驗(yàn)證的話,私鑰必須要和公鑰能對(duì)應(yīng)匹配,才允許登錄、交互、否則拒絕。
PS:公鑰和私有,實(shí)際上就是兩個(gè)文件
當(dāng)密碼驗(yàn)證、密鑰對(duì)驗(yàn)證都啟用時(shí),服務(wù)器將優(yōu)先使用密鑰對(duì)驗(yàn)證。
四、使用SSH客戶端程序
4.1、ssh遠(yuǎn)程登錄方式
登錄 方法一:
ssh [遠(yuǎn)程主機(jī)用戶名] @[遠(yuǎn)程服務(wù)器主機(jī)名或IP地址] -p port
當(dāng)在 Linux 主機(jī)上遠(yuǎn)程連接另一臺(tái) Linux 主機(jī)時(shí),如當(dāng)前所登錄的用戶是 root 的話,當(dāng)連接另一臺(tái)主機(jī)時(shí)也是用 root 用戶登錄時(shí),可以直接使用 ssh IP,端口默認(rèn)即可,如果端口不是默認(rèn)的情況下,需要使用-p 指定端口。
登錄方法二:
ssh -l [遠(yuǎn)程主機(jī)用戶名] [遠(yuǎn)程服務(wù)器主機(jī)名或IP 地址] -p port
-l :-l 選項(xiàng),指定登錄名稱。
-p:-p 選項(xiàng),指定登錄端口(當(dāng)服務(wù)端的端口非默認(rèn)時(shí),需要使用-p 指定端口進(jìn)行登錄)
4.2、擴(kuò)展命令
1. 使用ssh連接遠(yuǎn)程主機(jī)時(shí)加上“-o StrictHostKeyChecking=no”的選項(xiàng)。
2. 一個(gè)徹底去掉這個(gè)提示的方法是,修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下兩行配置:
StrictHostKeyChecking no UserKnownHostsFile /dev/null
五、構(gòu)建密鑰對(duì)驗(yàn)證的SSH
5.1、公鑰和私鑰的關(guān)系
在非對(duì)稱加密技術(shù)中,有兩種密鑰,分為私鑰和公鑰,私鑰是密鑰對(duì)所有者持有,不可公布,公鑰是密鑰對(duì)持有者公布給他人的。
公鑰用來(lái)給數(shù)據(jù)加密,用公鑰加密的數(shù)據(jù)只能使用私鑰解
構(gòu)建密鑰對(duì)驗(yàn)證的SSH原理首先ssh通過(guò)加密算法在客戶端產(chǎn)生密鑰對(duì)(公鑰和私鑰),公鑰發(fā)送給服務(wù)器端,自己保留私鑰,如果要想連接到帶有公鑰的SSH服務(wù)器,客戶端SSH軟件就會(huì)向SSH服務(wù)器發(fā)出請(qǐng)求,請(qǐng)求用聯(lián)機(jī)的用戶密鑰進(jìn)行安全驗(yàn)證。SSH服務(wù)器收到請(qǐng)求之后,會(huì)先在該SSH服務(wù)器上連接的用戶的家目錄下尋找事先放上去的對(duì)應(yīng)用戶的公用密鑰,然后把它和連接的SSH客戶端發(fā)送過(guò)來(lái)的公用密鑰進(jìn)行比較。如果兩個(gè)密鑰一致,SSH服務(wù)器就用公鑰加密"質(zhì)詢"(challenge)并把它發(fā)送給SSH客戶端。
5.2、scp復(fù)制
scp:scp是secure copy的簡(jiǎn)寫(xiě)(安全性復(fù)制),用于在Linux下進(jìn)行遠(yuǎn)程拷貝文件的命令,而且scp傳輸是加密的。
1.###本地文件復(fù)制到服務(wù)器 scp sheng root@192.168.100.141:/opt 2.####復(fù)制服務(wù)器的文件到本地 scp root@192.168.100.141:/opt/test/ ./ 3.####本地目錄復(fù)制到服務(wù)器 scp -r 1234/ root@192.168.100.141:/opt
5.3、安全性傳輸sftp
sftp是Secure File Transfer Protocol的縮寫(xiě),安全文件傳送協(xié)議??梢詾閭鬏斘募峁┮环N安全的網(wǎng)絡(luò)的加密方法。
到此這篇關(guān)于Linux中SSH遠(yuǎn)程訪問(wèn)和控制的文章就介紹到這了,更多相關(guān)Linux SSH遠(yuǎn)程訪問(wèn)和控制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- linux遠(yuǎn)程登錄ssh免密碼配置方法
- Linux配置遠(yuǎn)程SSH無(wú)密碼登錄
- 菜鳥(niǎo)學(xué)Linux命令:ssh命令(遠(yuǎn)程登錄)
- 通過(guò) SSH 在遠(yuǎn)程 Linux 系統(tǒng)上運(yùn)行命令的方法
- Linux下使用SSH遠(yuǎn)程執(zhí)行命令方法收集
- Linux 遠(yuǎn)程管理及sshd服務(wù)驗(yàn)證知識(shí)點(diǎn)詳解
- ssh遠(yuǎn)程無(wú)法訪問(wèn)linux的問(wèn)題及解決
- Linux如何關(guān)閉遠(yuǎn)程ssh密碼登錄
- Linux實(shí)現(xiàn)搭建ssh并允許使用root遠(yuǎn)程
相關(guān)文章
解決Ubuntu下使用linuxdeployqt打包Qt程序問(wèn)題
這篇文章主要介紹了解決Ubuntu下使用linuxdeployqt打包Qt程序問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07apache設(shè)置自動(dòng)將http跳轉(zhuǎn)到https的方法
客戶中心啟用了https的ssl證書(shū),現(xiàn)在需要將原先的http直接跳轉(zhuǎn)到https上。這里為大家提供一個(gè)我經(jīng)常使用到的方法,即使用偽靜態(tài)功能2013-02-02Apache虛擬目錄配置及vue-cli反向代理的設(shè)置方法
本篇文章主要介紹了Apache虛擬目錄配置及vue-cli反向代理的設(shè)置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09linux操作系統(tǒng)安裝sql developer步驟
本文介紹了linux安裝sql developer的步驟,大家參考使用吧2014-01-01