Search code examples
google-cloud-platformgoogle-compute-enginehortonworks-data-platformhortonworks-sandbox

how to ssh-copy id between two instances created on Google Computer Engine


Instance : 1 hostname: hdp-node-1 ip addr: 35.200.132.198

Instance : 2 hostname: hdp-node-2 ip addr: 35.200.208.150

I am able login into both of the instances from my local machine. but i want to set Password-less SSH using public private key pair between these two instances in google cloud platform i have created RSA keys on node 1 but when i am trying to ssh-copy-id then it is giving permission denied i have also checked the folder permissions also.

hdpuser@hdp-node-1:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: 
"/home/hdpuser/.ssh/id_rsa.pub"
The authenticity of host '35.200.208.150 (35.200.208.150)' can't be 
established.
ECDSA key fingerprint is SHA256:ATVf5KnwDP1DX0+m/LnByw6aMQg8wsdFW9i2OPooDEE.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to 
filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are 
prompted now it is to install the new keys
[email protected]: Permission denied (publickey).

Debug Log

ssh -v [email protected]

OpenSSH_7.6p1 Ubuntu-4, OpenSSL 1.0.2n  7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 35.200.208.150 [35.200.208.150] port 22.
debug1: Connection established.
debug1: identity file /home/hdpuser/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /home/hdpuser/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/hdpuser/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/hdpuser/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/hdpuser/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/hdpuser/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/hdpuser/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/hdpuser/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.6p1 Ubuntu-4
debug1: match: OpenSSH_7.6p1 Ubuntu-4 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 35.200.208.150:22 as 'hdpuser'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:ATVf5KnwDP1DX0+m/LnByw6aMQg8wsdFW9i2OPooDEE
debug1: Host '35.200.208.150' is known and matches the ECDSA host key.
debug1: Found key in /home/hdpuser/.ssh/known_hosts:4
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: RSA SHA256:VOpdHWpG5bRrArm6CWp86qKoPU33TmipL3l6KLXMrzo /home/hdpuser/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/hdpuser/.ssh/id_dsa
debug1: Trying private key: /home/hdpuser/.ssh/id_ecdsa
debug1: Trying private key: /home/hdpuser/.ssh/id_ed25519
debug1: No more authentication methods to try.
[email protected]: Permission denied (publickey).

I had refer this post i didn't understand what should i do

how to ssh between two instances created on Google Computer Engine?

I need to setup HDP here Thanks in Advance


Solution

  • It is easier if you install project wide keys , or instance only public keys managed by the platform. The GCE agent installed on each instance will copy the instances from metadata for you. This solution will work even if you create new nodes dynamically.