題 為什麼我無法通過SSH連接到筆記本電腦?


我升級到Mountain Lion,通過SSH訪問我的計算機時發生了一些問題。我可以從我的計算機SSH到其他盒子,但我還不能從其他計算機SSH到我的筆記本電腦。

  • 我打開了遠程共享
  • 我已經嘗試過改變它的解決方案 ssh_config 和 sshd_config 在裡面 /etc 夾
  • 我關掉了防火牆
  • 我試過了 這個答案;說 com.openssh.sshd: Already loaded

這個問題仍然存在。我怎樣才能解決這個問題?

我需要修復的原因主要是通過ssh進行安全複製。記住這個是痛苦的 realpath 雲上的文件,並從您的框中訪問它;雖然這是可能的,並且一直是我如何與這個新的山獅異常生存。但是從包含該文件的盒子到我的筆記本電腦的SSH能夠更容易。

在此先感謝您的幫助!


3
2018-01-19 04:13


起源


你可以ssh到localhost(在筆記本電腦上)或者這也不起作用?嘗試啟動ssh連接時到底發生了什麼?它會立即關閉嗎?它會要求你輸入密碼嗎?還是只是超時?您是否嘗試過不同的用戶帳戶(root @ localhost,yourname @ localhost等)? - mreithub


答案:


OS X配置

系統偏好設置→共享 - >啟用“遠程登錄”

如果您不想按帳戶限制ssh訪問,請選擇“允許訪問”“所有用戶”。

路由器端口映射

肯特格雷夫斯的回答 實際上讓我想起了一件事。

你在路由器後面連接了嗎?如果是這樣,您之前正確設置了端口轉發。如果在Mountain Lion升級後您的IP已更改(或變為DHCP分配),則端口轉發將不再起作用。檢查您的OS X是否使用靜態IP,然後更新路由器上的端口轉發規則或像以前一樣更改機器IP。

反向SSH隧道 - 解決ssh問題而不解決問題

  1. 測試

    如果您可以在OS X框上執行以下操作,那麼此解決方案將起作用:

    ssh <osx-user>@localhost
    
  2. 連接到雲計算機

    使用SSH連接到雲計算機時,請使用 -R 將反向ssh隧道設置回本地計算機的選項:

    ssh <username>@<cloud-machine> -R <interface-IP:port on cloud machine>:localhost:22
    

    例如,使用以下命令連接到雲計算機:

    ssh user@cloud-machine -R localhost:2000:localhost:22
    

    這建立了一個SSH隧道,從雲機端口2000到OS X機器端口22,這是ssh服務器端口。

  3. SCP / SSH通過隧道返回OS X機器人

    SCP示例1:從OS X盒複製到雲計算機:

    scp -P 2000 <osx-user>@localhost:/path/* /var/www/
    

    SCP示例2:從雲機器人復製到OS X盒子:

    scp -P 2000 /var/www/* <osx-user>@localhost:/path/
    

    使用以下命令通過SSH返回OS X機器:

    ssh -p 2000 <osx-user>@localhost
    

    請注意,SCP使用 大寫  -P 在SSH使用時指定端口 小寫  -p


9
2018-01-21 15:12



這有幫助嗎? - John Siu
感謝您的詳細解答,我將稍後再回過頭來看看。這裡有一大塊信息,我必須切換位置才能正確測試所有這些信息到目前為止,我可以將ssh轉換為localhost。我知道SSH已經啟動了。我正在使用OpenSSH-與BSD一起發布的那個;從未改變它。然而,從不同的機器SSH到我的仍然是不可能的。 - iGbanam
您是否能夠從同一網絡中的其他計算機(不通過路由器)進入您的筆記本電腦。如果沒有,那看起來像是防火牆問題。雖然我的最後一種方法仍然可以通過它。 - John Siu


我不熟悉OS X,但基本要素是一樣的。

你確定ssh是作為服務運行的,即使你啟用它了嗎?

嘗試運行相當於netstat的OS X以查看端口22是否正在偵聽,如果沒有,那麼該服務存在問題。

第二,你絕對確定你只有一個防火牆嗎?即使您的主機防火牆允許端口22,如果您嘗試從本地網絡外部進行SSH而不是網關或路由器也可能阻止SSH,因為它也有防火牆。您需要進入路由器的配置並允許訪問網絡上的端口22。

即使您的防火牆已關閉且允許連接到端口22.您必須有一個服務偵聽該端口才能創建連接。

您嘗試與之建立SSH連接的計算機位於何處?是在本地網絡上,還是通過互聯網連接到本機?

我假設您之前使用過SSH,但只是檢查您使用的是什麼命令或者您使用什麼SSH客戶端創建連接?格式應為:

ssh <username>@<ip_address or hostname>

無論您使用何種用戶名連接到您的計算機,該計算機上的SSH服務器都必須設置為允許該用戶連接,除非您將其設置為所有用戶,例如提到的其他人。

以下是專門針對OS X Mountain Lion的分步演練: http://www.ernieflores.net/osx-page-2/enable-remote-login-to-start-ssh-server-in-osx/ 


0
2018-01-23 17:20



感謝您的回答。這個問題仍然存在。我熟悉SSH,我知道守護進程已啟動並正在運行。我可以通過SSH連接到localhost ssh <my_username>@localhost - 這裡沒問題。但是,如果我在不同的機器上 - 說 <your_username>@externalhost,我不能進入我的機器;即使我使用我的顯式IP地址。連接超時 - iGbanam
我現在有點落後於路由器,是的 - 我的iPhone網絡共享。但是,當我切換到Wi-Fi,更改位置甚至使用以太網電纜時,這個問題仍然存在。當我有雪豹時,一切都很好;不是現在,不是山獅。 - iGbanam