Google cloud platform 如何在Google计算机引擎上创建的两个实例之间通过ssh复制id

Google cloud platform 如何在Google计算机引擎上创建的两个实例之间通过ssh复制id,google-cloud-platform,google-compute-engine,hortonworks-data-platform,hortonworks-sandbox,Google Cloud Platform,Google Compute Engine,Hortonworks Data Platform,Hortonworks Sandbox,实例:1 主机名:hdp-node-1 ip地址:35.200.132.198 实例:2 主机名:hdp-node-2 ip地址:35.200.208.150 我可以从本地计算机登录这两个实例。但是我想在google cloud platform的这两个实例之间使用公私密钥对设置无密码SSH我在节点1上创建了RSA密钥,但是当我尝试SSH复制id时,它拒绝授予权限,我还检查了文件夹权限 hdpuser@hdp-node-1:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub

实例:1 主机名:hdp-node-1 ip地址:35.200.132.198

实例:2 主机名:hdp-node-2 ip地址:35.200.208.150

我可以从本地计算机登录这两个实例。但是我想在google cloud platform的这两个实例之间使用公私密钥对设置无密码SSH我在节点1上创建了RSA密钥,但是当我尝试SSH复制id时,它拒绝授予权限,我还检查了文件夹权限

hdpuser@hdp-node-1:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub hdpuser@35.200.208.150

/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
hdpuser@35.200.208.150: Permission denied (publickey).
调试日志

ssh -v hdpuser@35.200.208.150

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: 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: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.
hdpuser@35.200.208.150: Permission denied (publickey).
ssh-vhdpuser@35.200.208.150
OpenSSH_7.6p1 Ubuntu-4,OpenSSL 1.0.2n 2017年12月7日
debug1:读取配置数据/etc/ssh/ssh\u config
debug1:/etc/ssh/ssh\u配置第19行:应用*
debug1:连接到35.200.208.150[35.200.208.150]端口22。
debug1:已建立连接。
debug1:标识文件/home/hdpuser/.ssh/id\u rsa类型0
debug1:key\u load\u public:没有这样的文件或目录
debug1:identity file/home/hdpuser/.ssh/id\u rsa-cert类型-1
debug1:key\u load\u public:没有这样的文件或目录
debug1:identity file/home/hdpuser/.ssh/id_dsa type-1
debug1:key\u load\u public:没有这样的文件或目录
debug1:identity file/home/hdpuser/.ssh/id_dsa-cert type-1
debug1:key\u load\u public:没有这样的文件或目录
debug1:identity file/home/hdpuser/.ssh/id_ecdsa type-1
debug1:key\u load\u public:没有这样的文件或目录
debug1:identity file/home/hdpuser/.ssh/id_ecdsa-cert type-1
debug1:key\u load\u public:没有这样的文件或目录
debug1:identity file/home/hdpuser/.ssh/id_ed25519 type-1
debug1:key\u load\u public:没有这样的文件或目录
debug1:identity file/home/hdpuser/.ssh/id_ed25519-cert type-1
debug1:本地版本字符串SSH-2.0-OpenSSH_7.6p1 Ubuntu-4
debug1:远程协议版本2.0,远程软件版本OpenSSH_7.6p1 Ubuntu-4
debug1:匹配:OpenSSH_7.6p1 Ubuntu-4 pat OpenSSH*compat 0x04000000
debug1:验证到35.200.208.150:22作为“hdpuser”
debug1:SSH2\u MSG\u KEXINIT已发送
debug1:SSH2\u MSG\u KEXINIT已收到
debug1:kex:算法:curve25519-sha256
debug1:kex:主机密钥算法:ecdsa-sha2-nistp256
debug1:kex:server->client cipher:chachacha20-poly1305@openssh.comMAC:压缩:无
debug1:kex:client->server cipher:chachacha20-poly1305@openssh.comMAC:压缩:无
debug1:需要SSH2\u MSG\u KEX\u ECDH\u回复
debug1:服务器主机密钥:ecdsa-sha2-nistp256 SHA256:ATVf5KnwDP1DX0+m/LnByw6aMQg8wsdFW9i2OPooDEE
debug1:主机“35.200.208.150”已知,并且与ECDSA主机密钥匹配。
debug1:在/home/hdpuser/.ssh/known_hosts:4中找到密钥
debug1:在134217728块之后重新键入
debug1:SSH2\u MSG\u已发送新密钥
debug1:应为SSH2\u MSG\u NEWKEYS
debug1:SSH2\u MSG\u接收到新密钥
debug1:在134217728块之后重新键入
debug1:SSH2\u MSG\u EXT\u接收到信息
debug1:kex_输入_外部_信息:服务器信号algs=
debug1:SSH2\u消息\u服务\u接收
debug1:可以继续的身份验证:公钥
debug1:下一个身份验证方法:公钥
debug1:提供公钥:RSA SHA256:vopdhwwpg5brarm6cwp86qkopu33tmipl3l6klxmrzo/home/hdpuser/.ssh/id_RSA
debug1:可以继续的身份验证:公钥
debug1:正在尝试私钥:/home/hdpuser/.ssh/id\u dsa
debug1:正在尝试私钥:/home/hdpuser/.ssh/id\u ecdsa
debug1:正在尝试私钥:/home/hdpuser/.ssh/id_ed25519
debug1:不再尝试验证方法。
hdpuser@35.200.208.150:权限被拒绝(公钥)。
我已经提到了这个帖子,我不知道我该怎么办


我需要在这里设置HDP,提前感谢

如果您安装,或者由平台管理的公钥,这会更容易。安装在每个实例上的GCE代理将为您复制元数据中的实例。即使您动态创建新节点,此解决方案也会起作用。

我的问题仍然是,如果不添加项目范围的密钥,为什么从节点1到节点2是不可能的?这是谷歌云管理安全性还是背后的原因?您必须在hdp-node-2(目标VM)中保留公钥,并在hdp-node-1中保留私钥(源VM)。然后您将不再收到“权限被拒绝(公钥)”消息。