[英]Google Compute Engine - troubleshooting SSH “Connection refused”
[英]Why Google Cloud Compute Engine instance gives ssh connection refused after restart?
我停止並重新啟動了一個 ubuntu 14.04 Google Cloud Compute Engine 實例,現在我的 ssh 連接被拒絕:
ssh: connect to host 146.148.114.98 port 22: Connection refused
這已經發生過一次,我認為機器有問題,我刪除它並重新創建它並再次開始工作。 我不想每次都重新創建實例。 google cloud 的 ssh 故障排除頁面比較亂。 我的防火牆規則似乎沒問題。 有人對此有解決方案嗎?
NAME NETWORK SRC_RANGES RULES SRC_TAGS TARGET_TAGS
default-allow-http default 0.0.0.0/0 tcp:80 http-server
default-allow-https default 0.0.0.0/0 tcp:443 https-server
default-allow-icmp default 0.0.0.0/0 icmp
default-allow-internal default 10.128.0.0/9 tcp:0-65535,udp:0-65535,icmp
default-allow-rdp default 0.0.0.0/0 tcp:3389
default-allow-ssh default 0.0.0.0/0 tcp:22
這是輸出: ps aux | grep ssh
ps aux | grep ssh
root 29 0.0 0.4 55184 2860 ? Ss 11:26 0:00 /usr/sbin/sshd -p 22 -o AuthorizedKeysCommand=/google/devshell/authorized_keys.sh -o Author
izedKeysCommandUser=root
root 183 0.0 0.9 82692 5940 ? Ss 11:26 0:00 sshd: fbeshox [priv]
fbeshox 218 0.0 0.7 82692 4424 ? S 11:26 0:00 sshd: fbeshox@pts/0
fbeshox 522 0.0 0.3 12728 2200 pts/1 S+ 12:12 0:00 grep ssh
這里是 ssh 連接嘗試的詳細結果。
ssh -i .ssh/keyname username@130.211.53.51 -vvv
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/xxxx/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 130.211.53.51 [130.211.53.51] port 22.
debug1: connect to address 130.211.53.51 port 22: Connection refused
ssh: connect to host 130.211.53.51 port 22: Connection refused
Ubuntu 上默認安裝的安全工具sshguard
可能會干擾您的連接。 基本上 sshguard 可能錯誤地認為您的 IP 地址正在“攻擊”您的實例並阻止了該 IP。
如果您可以從其他位置登錄,例如 Cloud Console 提供的 Web SSH,請嘗試使用sudo iptables -S
查看 sshguard 創建的實例上是否有任何防火牆規則(不同於 GCE 防火牆)。 如果是這樣,請嘗試禁用 sshguard 或將您的 IP 地址添加到白名單 ( http://www.sshguard.net/docs/whitelist/ )。
我知道這是一個老問題,但今天我遇到了類似的問題,問題很簡單——重啟后實例的 IP 發生了變化——所以我不得不相應地更新 ssh 字符串
在您更改默認區域或區域后,通常會發生此問題。 然后,您必須通過 sudo gcloud compute config-ssh 更新元數據中的 ssh 密鑰
您還可以在 Compute Engine | 下查看 Web 界面中的更改。 元數據 | SSH 密鑰。
嘗試使用不同的用戶名通過 SSH 連接到實例。Google Compute 有時有點不穩定。 嘗試使用 Compute Engine 中的 VM 實例頁面通過 SSH 連接到實例。 如果 SSH 花費太多時間並拒絕連接,則在 SSH 中使用不同的用戶名登錄。 您可以使用 SSH 窗口右上角的設置圖標以不同的名稱登錄。 如果這些都不順利,我會建議你重新創建一個實例,因為我的經驗也是 Google Compute Engine 實例在 SSH 可訪問性方面不穩定並且容易產生問題。最好是使用 putty 作為 SSH 進入 Compute Engine 的客戶端,而不是 Google 提供的 SSH 終端。 讓我知道這是否對您有幫助:)
我知道當機器停止並安裝該磁盤時,從控制台分離磁盤后出現了我的問題。 首先卸載磁盤,然后將其分離。 再也沒有看到這個問題。
還要確保您沒有遞歸地修改/etc
文件夾的權限。
例如:
chmod -R 775 /etc
這將阻止您重新登錄到 VM,即使是從 Web 控制台和 gcloud cli 也是如此。
相反,在更精細的級別上修改權限,例如/etc/nginx
等。
我遇到了同樣的問題,並通過首先通過瀏覽器 SSH (來自“VM 實例”Web 概述)連接到 VM 來解決它,這也失敗了,然后選擇提供的選項,即在沒有 Cloud Identity-Aware Proxy的情況下重試有效。
之后所有 SSH 連接再次工作(在瀏覽器和本地 shell 中)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.