前言
(更新:可以通過此文章解決三個問題:使用Windows/linux遠程連接Linux或Windows,但無法連接,可以對Windows檢查ssh,對Linux檢查sshd)
首先,你看到這篇文章的原因可能是如下兩個(此篇我們以Windows7為例,因為win10ssh一般是開著的):
- 還沒有嘗試使用 [XShell 連接 Windows 7 系統(tǒng)(此篇文章針對 Windows7 虛擬機,但如果主體電腦是 Windows 7 系統(tǒng)作為服務(wù)器的話,原理也應(yīng)該是差不多的)。
- 嘗試使用 XShell 連接了 Windows 7 系統(tǒng),但是連接失敗(
是的,就是我)。
OK,下面我們就開始解決該連接失敗問題!??!
出錯原因
科普 tips:Linux 中查看網(wǎng)絡(luò)狀態(tài)使用命令 ifconfig(終端),Windows 中則使用 ipconfig(命令行)
(使用XShell、XFTP連接虛擬機或者服務(wù)器教程 )
由此圖可見(通過上面的命令先找出我們的IPV4的IP地址),出現(xiàn)問題的地方有幾處:
- SSH 協(xié)議,因為 WIndows 7 的 SSH 、sshd默認是關(guān)閉的(也可能是沒有安裝)。
- 端口號 22:我們使用SSH(安全登錄)、SCP(文件傳輸)、端口號重定向,默認的端口號為22,所以有可能是因為 22 端口沒有打開,所以連接不到。
- 原因 2 的另一種理解:Windows 的防火墻會默認阻止一些網(wǎng)絡(luò)上的數(shù)據(jù),所以你會發(fā)現(xiàn)使用 Windows 主機 ping Linux 虛擬機可以順利 Ping 通,但是反過來卻會發(fā)現(xiàn)傳送數(shù)據(jù)超時,Ping 不通。
(題外話)那么我們?yōu)槭裁匆褂?SSH 連接
???????在 windows 上使用 ssh 協(xié)議是因為該協(xié)議通過 tcp22 端口,服務(wù)器、路由器、交換機、sftp 等不安全的程序通過該端口都可以用于幫助加強連接以防止竊聽。目前 ssh 協(xié)議大多用在 linux 系統(tǒng)中,但 SSH 協(xié)議本身實際上是在各種各樣的系統(tǒng)上實現(xiàn)的,雖然在 windows 操作系統(tǒng)中不是默認開啟的,但開啟后可以和 linux 操作系統(tǒng)一樣簡單方便的使用 ssh 協(xié)議來連接服務(wù)器等。
開始操作(Windows7)
首先進行 SSH 測試
先在Windows中進行 ssh 命令測試,如果出現(xiàn)下面這樣的結(jié)果,則繼續(xù)閱讀,否則可以跳過下面下載ssh 的步驟。(win+R輸入cmd,回車,然后輸入ssh)
出現(xiàn)該結(jié)果說明沒有ssh,下面進行安裝。click me 跳轉(zhuǎn)
獲取所需的openSSH文件
在Windows7的瀏覽器(剛安裝之后默認是IE)中的地址欄搜索:https://github.com/PowerShell/Win32-OpenSSH/releases
估計加載不出來,IE,你懂得,所以最好的方式是先打開www.baidu.com,然后搜索一款可以打開下載頁面的瀏覽器(不知道為什么下載火狐的頁面打不開,估計是IE的一些訪問設(shè)置,搞起來挺累,我就直接下載了獵豹安全瀏覽器,后面再卸載就行),看下圖,進去之后點擊立即下載,然后選擇運行或者保存即可。
然后打開你剛下載的瀏覽器,輸入前面的那個 GitHub網(wǎng)址搜索,要等待一段時間,或者時間長不出來就換個網(wǎng)試試。(一段時間后,沒錯,我又在獵豹里面下載了 Firefox(火狐),沒辦法,獵豹頁面可以出來,但是下安裝包的地方出不來) ,F(xiàn)irefox進入頁面后,選擇32 位或者 64 位均可,此處選擇 64位(點擊之后會彈出下載頁面,要是沒有彈出來可能是默認下載路徑了,直接到瀏覽器里面的“下載”頁打開查看下載進度,親測,我無腦一直點,下載了好多個~~~):
等待時間可以下載個解壓軟件,推薦band.zip
更新:一個博主的方法,但是我沒有進行準(zhǔn)確度測試,穩(wěn)妥就選我的方式,想玩玩兒的可以看一看試驗下:提升訪問github.com網(wǎng)址的速度
安裝openSSH
下載完成后進行解壓,并把openSSH整個目錄進行復(fù)制到 C:\Program Files (其實哪個目錄都可以,不過建議安裝在這里,免得出問題)
添加環(huán)境變量
單擊計算機,右鍵——>屬性——>高級系統(tǒng)設(shè)置——>環(huán)境變量——>系統(tǒng)變量,在此框里面找到 Path 進行編輯, 將路徑“C:\Program Files\OpenSSH-Win64”添加進去。
如果是win10的話直接“新建”——>然后添加即可。
(沒有計算機圖標(biāo)的可以桌面右鍵“個性化”——>“左上方更改桌面圖標(biāo)”——>選中計算機前的框——>應(yīng)用,確定)
ssh測試
接著就可以進行ssh測試了(重新打開一個命令行窗口),出現(xiàn)下圖輸出證明安裝成功!但是此時還是不能遠程連接登錄。
發(fā)布ssh服務(wù)
依次在命令行(在開始菜單下面輸入cmd,然后選中右鍵“以管理員身份運行”)中輸入以下命令(覺得麻煩可以在做該設(shè)置的虛擬機中的瀏覽器打開本文章直接copy):
# #的部分均為注釋部分,不用理會
cd C:\Program Files\OpenSSH-Win64\OpenSSH-Win64 #必須先轉(zhuǎn)到我們之前加入到環(huán)境變量中的路徑下,即:ssh的文件夾內(nèi)部,不然后面的步驟會報錯
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 #安裝sshd服務(wù)
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22 # 開放22號端口(如果你在windows關(guān)閉了防火墻并配置了入站規(guī)則可以不執(zhí)行如下命令,多執(zhí)行不影響)
sc config sshd start= auto #配置開機自啟動sshd服務(wù)
net start sshd # 開啟服務(wù)
以下為每一步的截圖:
OK!到這一步做完就差不多了,接著驗證一下22號端口是否處于 listening 狀態(tài)。
使用命令 netstat -an
成功!接著就可以順利使用xshell進行遠程連接或者使用xftp進行傳文件了。
連接的時候要是重復(fù)向你彈出SSH拒絕了密碼之類的話證明要么是你用戶名填錯了,要么是你填的用戶名沒有設(shè)置密碼(沒錯是我),記得回去重設(shè)密碼再登錄。
開始操作(Linux,以Ubuntu為例)
其實吧,SSH可以理解為client,sshd可以理解為server,因為咱們是用Windows去遠程連接Linux系統(tǒng),某種程度上說,被遠程連接的這個機子就是咱們的服務(wù)器,所以sshd說是要打開的(不知道理解的對不對,我是這么感覺的)
此處操作均已Ubuntu為例,其他的Linux發(fā)行版可能shell命令會有所不同,但原理是一樣的(為了防止意外錯誤,可以先轉(zhuǎn)換到root用戶下再操作,Ubuntu默認無root,使用 sudo passwd
設(shè)置新密碼,然后使用 su root
輸入并新密碼進入root用戶 )。
-
檢查ssh是否打開
ps -e | grep ssh
(在終端(terminal)中輸入)
應(yīng)該是沒有ssh出現(xiàn),因為出現(xiàn)了就證明你可以用xshell連接成功,或者問題不是這個 -
安裝SSH(如果已存在則跳過該步驟)
(1) apt-get 可以使用的情況下:
??????????使用如下命令安裝:
su root //需要先切換為root用戶下才有權(quán)限,已切換則不用
// 輸入密碼
// 一般情況下下面這兩步操作是可以不做的
apt-get update //apt-get update是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能獲取到最新的軟件包。只是更新了apt的資源列表,沒有真正的對系統(tǒng)執(zhí)行更新
apt-get upgrade //進行升級, 過程中需要輸入一次 y
//進行安裝
apt-get install ssh
(2)如果發(fā)現(xiàn)在使用如apt-get install ssh
或者sudo apt-get install ssh
等一些命令時無法安裝,出現(xiàn) “unable to locate package xxx” 或是 “Unit sshd.service could not be found” 這樣的錯誤,則使用下面的命令安裝ssh
//找一個存放ssh文件的目錄
cd /home
mkdir myssh
cd myssh/
//安裝
wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz //下載安裝包
tar xzvf openssh-5.9p1.tar.gz //解壓 此處的5.9版本無用在意,會自動在上一步的網(wǎng)址中下載最新版本,只需要輸入open然后用tab鍵自動補全即可
cd openssh-5.9p1 //進入目錄
//配置的過程我也是第一次嘗試,不確定每一步的原理與結(jié)果,所以有的結(jié)果可能會有報錯,此處只記錄我的解決過程,反正結(jié)果是好的
./configure
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib2
make
make install
//查看版本確定是否已經(jīng)可用
ssh -V
//此處應(yīng)該是直接進行配置文件的設(shè)定的,但是此時打開所謂的 /etc/ssh/sshd_config 文件時發(fā)現(xiàn)內(nèi)容很少,很多的配置都是不存在的情況,此時需要再次安裝
sudo apt-get install openssh-server //安裝ssh服務(wù)端
sudo apt-get install openssh-client //安裝ssh客戶端
systemctl status sshd //查看sshd的狀態(tài),在active可以看到綠色文字 running
vim /etc/ssh/sshd_config //查看配置文件,將PermitRootLogin yes加上,查看一下就行,估計是有的,我反正沒做這步操作,可跳過,如果后面的步驟不頂用,再回過頭設(shè)置
//此時可以使用xshell等軟件進行遠程登錄連接,應(yīng)該是可行的
如果不行則重新啟動(紫色字體部分)
systemctl start ssh //啟動ssh服務(wù) ,使用 service sshd start 也一樣
systemctl restart ssh //重啟ssh服務(wù)
systemctl stop ssh // 停止ssh服務(wù)
// 設(shè)置ssh服務(wù)開機自啟動
sudo systemctl enable ssh
參考文章:
Linux中使用SSH服務(wù)遠程連接Linux系統(tǒng)
window server如何卸載openssh
虛擬機上的各個端口號代表的意思
為什么在 Windows 上用 SSH
在Windows 10中打開遠程桌面連接的5種方法
-File參數(shù)的參數(shù)’install-sshed.ps1‘不存在| powershell
Windows7之SSH,安裝OpenSSH實現(xiàn)SSH客戶端及服務(wù)
Xshell7遠程連接失敗(connection failed)的問題解決
Linux系統(tǒng)下OpenSSH的安裝及基本配置文件詳解
Linux安裝OpenSSH與SSL
Unit sshd.service could not be found
Ubuntu 無法連接xshell的問題文章來源:http://www.zghlxwxcb.cn/news/detail-784904.html
寫在最后:
首先,如果本篇文章有任何錯誤,煩請讀者告知!不勝感激!
其次,本篇文章僅用于日常學(xué)習(xí)以及學(xué)業(yè)復(fù)習(xí),如需轉(zhuǎn)載等操作請告知作者(我)一聲!
最后,本文會持續(xù)修改和更新,如果對本分欄的其他知識也感興趣,可以移步目錄導(dǎo)航專欄,查看本分欄的目錄結(jié)構(gòu),也更方便對于知識的系統(tǒng)總結(jié)!
兄弟姐妹們,點個贊唄!
感謝!筆芯!文章來源地址http://www.zghlxwxcb.cn/news/detail-784904.html
到了這里,關(guān)于使用XShell、XFTP 連接 win7 虛擬機(windows、Linux無法遠程登錄問題)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!