मैंने सोचा था कि और / या के ssh_exchange_identification: Connection closed by remote host
कारण होता है , लेकिन अनुमति केवल प्रविष्टि है और इनकार खाली है।/etc/hosts.allow
/etc/hosts.deny
ALL:ALL
अपने Google क्लाउड VM में मैंने जोड़ा है:
ALL:ALL
करने के लिए\etc\hosts.allow
और\etc\hosts.deny
रिक्त हैGoogle क्लाउड VM के लिए फ़ायरवॉल नियम सेटअप tcp की अनुमति देने के लिए: 2222
GatewayPorts clientspecified
सेवा मेरे/etc/ssh/sshd_config
अपने Google क्लाउड VM में गंतव्य (जिस कंप्यूटर को मैं एक्सेस करना चाहता हूं) से :
ssh -R 0.0.0.0:2222:localhost:22 -i google_compute_engine -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no <username>@<google vm ip>
उसके बाद Netstat -plant 2222
पैदावार:
tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 2700/0
Google क्लाउड VM के भीतर :
ssh -p 2222 -i google_compute_engine localhost -v
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to localhost [127.0.0.1] port 2222.
debug1: Connection established.
debug1: identity file google_compute_engine type -1
debug1: identity file google_compute_engine-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3
ssh_exchange_identification: Connection closed by remote host
यदि मैं 2222 -p हटाता हूं, तो ssh
कमांड स्थानीय रूप से कनेक्ट होती है।
ध्यान दें कि आप कई परिस्थितियों में इस सटीक व्यवहार को देख सकते हैं। मैंने लक्ष्य-मशीन पर sshd को बंद कर दिया, और अभी भी वही त्रुटि मिली है। अपने फ़ायरवॉल लॉग की जाँच करें और सत्यापित करें कि अनुरोध लक्ष्य-मशीन तक पहुँच रहा है।
—
जोसेफ