Ubuntu या debian से Google क्लाउड इंजन में SSH नहीं कर सकते


1

मैं स्थानीय लाइनक्स का उपयोग करके अपने Google क्लाउड बीमा पर ssh करने का प्रयास करता हूं। मैंने डॉक्स का उपयोग करके कुंजी उत्पन्न की

ssh-keygen -t rsa -f ~ / .ssh / my-ssh-key -C [USERNAME]

फिर मेटा डेटा के लिए पब की चाबी लगाते हैं। लेकिन यह काम नहीं करता है मुझे अनुमति से इनकार कर दिया गया कनेक्शन प्राप्त करने के लिए सभी रास्ते मिलते हैं (publickey)। इसके अलावा वेब शेल के साथ कनेक्शन काम नहीं करता है। दूसरी मशीन पर पुरानी ssh कीज़ के साथ यह काम करता है।

क्या किसी को अंदाजा है कि समस्या क्या हो सकती है?

सादर, एलेक्स

जवाबों:


2

जब तक आप विशेष रूप से इसे अन्यथा करने के लिए नहीं कहते हैं, एसएसएच प्रमाणीकरण के ~/.ssh/id_<type>लिए (उदाहरण के लिए ~/.ssh/id_rsa) प्रदान करता है।

आपने एक गैर-मानक स्थान पर एक कुंजी बनाई है (~ / .sh के भीतर, लेकिन एक गैर-मानक फ़ाइल नाम के साथ)।

चूंकि सार्वजनिक कुंजी प्रमाणीकरण आपके लिए सामान्य काम करता है, इसलिए सबसे पहले मैं यह देखूंगा कि एसएसएच प्रमाणीकरण के लिए सही कुंजी प्रदान करता है। आप सत्यापित कर सकते हैं कि वर्बोज़ (डीबगिंग) आउटपुट के एक स्तर को चालू करने के sshलिए -vस्विच के साथ चलकर। संदेशों के बीच, आपको कुछ इस तरह देखना चाहिए:

debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/you/.ssh/something

देखिए कि यह किस सार्वजनिक कुंजी को पेश कर रहा है। ( Offering ... public keyविभिन्न कुंजी फ़ाइलों के लिए आपके पास कई लाइनें हो सकती हैं ।) यदि यह आपकी नई बनाई गई कुंजी की पेशकश नहीं करती है, तो वह कुंजी कभी भी प्रमाणीकरण के लिए उम्मीदवार नहीं होगी।

यदि आपकी नई बनाई गई कुंजी की पेशकश नहीं की गई है, तो -iस्विच को जोड़कर, SSH को इसे पेश करने के लिए स्पष्ट रूप से बताने का प्रयास करें। उदाहरण के लिए, ssh -i ~/.ssh/my-ssh-key -v username@hostname। ध्यान दें कि SSH .pubखुद को उस नाम से जोड़ेगा जहां उसे सार्वजनिक कुंजी तक पहुंचने की आवश्यकता है, इसलिए आप निजी कुंजी फ़ाइल के लिए नाम देते हैं।

यदि वह काम करता है, तो आप अपने ~/.ssh/configएसएसएच को बताने के लिए संपादित कर सकते हैं कि मेजबान को उस कुंजी की पेशकश करें। उदाहरण के लिए, आप निम्न की तरह एक ब्लॉक जोड़ सकते हैं। अपने पास मौजूद किसी भी Host *ब्लॉक के ऊपर इसे जोड़ना सुनिश्चित करें ।

Host hostname
    User username
    IdentityFile ~/.ssh/my-ssh-key

तब आपको बस का उपयोग करके कनेक्ट करने में सक्षम होना चाहिए ssh hostname

देखें man 1 sshऔर man 5 ssh_configअधिक जानकारी के लिए।


0

आपके उत्तर के लिए धन्यवाद। मुझे लगता है कि आईडी ने इसे इस तरह किया। यहाँ एक लॉग है, शायद कुछ गलत है लेकिन मैं इसे पहचान नहीं सकता।

OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to ccc.ccc.cc [aaa.aaa.aaa.aa] port 22.
debug1: Connection established.
debug1: identity file /home/foo/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.7p1 Debian-5+deb8u3
debug1: match: OpenSSH_6.7p1 Debian-5+deb8u3 pat OpenSSH* compat 0x04000000
debug1: Authenticating to sdev.meilon.de:22 as 'foo'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:D8f511w+xDWBS2z8E212LT369D3og2J4CYRsmE1ETwM
debug1: Host 'sdev.meilon.de' is known and matches the ECDSA host key.
debug1: Found key in /home/foo/.ssh/known_hosts:1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/foo/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: foo@foo-x1
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/foo/.ssh/id_dsa
debug1: Trying private key: /home/foo/.ssh/id_ecdsa
debug1: Trying private key: /home/foo/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

यह लॉग किसी अन्य पैरामीटर के साथ ssh उपयोगकर्ता @ लक्ष्य के साथ कनेक्ट से है। अगर मैं विशेष पहचान फ़ाइल का उपयोग करता हूं तो यह समान है। ऐसा लगता है कि कुंजियाँ उस एक के साथ संगत नहीं हैं जिसे कूप सर्वर स्वीकार करता है। उस पर ubuntu के साथ मेरे अन्य पीसी के साथ सही चलाता है।
अलेक्जेंडर मीस

मुझे Google कंप्यूट इंजन लॉग पर एक त्रुटि मिली: Jul 13 13:00:30 खातों से-मेटाडाटा: खातों को अपडेट करने की कोशिश करते समय चेतावनी त्रुटि: <urlopen त्रुटि [Errno -2] नाम या सेवा ज्ञात नहीं>>
अलेक्जेंडर मीस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.