无法ssh到vm,导致使用bdutil安装hadoop时出现问题

pgky5nke  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(626)

我已经通过了这个网站上围绕这个问题的大部分问题,但似乎没有什么帮助我。基本上,我正在尝试通过google提供的bdutil脚本在我的vm上示例化hadoop示例,但是问题似乎与我不能ssh到vm示例有关。
我已经为此挣扎了几天了,所以我真的很感谢你的帮助。
以下是我遵循的步骤:
为了引导您通过步骤,我刚刚创建了一个新的虚拟机
我能够通过ssh在开发人员的控制台没有问题
以下显示系统信息和操作系统:
uname–linux archipelago-vm1 2.6.32-431.20.3.el6.x86#u 64#1 smp周四6月19日21:14:45 utc 2014
tail/etc/redhat release tail:inotify不能使用,返回pollingcentos 6.5版(最终版)
vm已设置为允许http和https连接
在我的windows机器(windows8.1professional)上,我删除了所有以前创建的ssh文件,为了允许创建新的ssh文件,我还删除了项目上所有以前创建的密钥(有很多垃圾文件,因为我已经尝试了一些方法来让它工作)
然后我使用gcloud auth login授权给新的vm
这工作正常,我得到授权和登录
我可以使用gcloud计算示例列表查看示例
然后我尝试ssh到示例中
它说它正在生成我的ssh密钥,在我的机器和vm示例上都是这样
但是它不能ssh到机器中注意:我已经尝试了使用密码短语和不使用密码短语,在这个例子中我将其留空
我收到的错误是没有可用的受支持的身份验证方法
当我检查文件时,它们在我的机器和项目的metadata/ssh-keys部分的两个地方都被创建了
当我比较我机器上的.pub文件和vm上的密钥时,这两个密钥是相同的,我还尝试将密钥添加到vm示例特定的ssh密钥中,但没有成功
有趣的是,当我在我的机器上使用putty时,我可以毫无问题地登录,使用c:\users\cleven.ssh\google\u compute\u engine.ppk文件
所以最初我想,没问题,我只使用putty,但是当我试图运行bdutil脚本来示例化hadoop时,它给了我一个错误,我没有通过gcutil登录,也不会运行脚本,所以我随后通过开发人员控制台登录,它仍然不会运行(同样的错误)
然后我进入sshd\u config文件,允许密码登录,为我的帐户设置密码,然后gcloud ssh,允许我通过密码登录,没有问题。
但是,当我运行脚本时,它创建了hadoop所需的所有示例和驱动器,但是脚本在ssh公钥错误时失败,我无法完成它。
不幸的是,我没有这个脚本中的日志文件,因为我删除了它们所在的示例;如果您能看到这些日志,我可以再看一遍这些步骤。
然而,这一切似乎都与使用密钥文件的ssh进程不起作用这一事实有关
请让我知道,如果我可以提供任何额外的信息再次感谢你的帮助

fxnxkyjh

fxnxkyjh1#

1) 检查.ssh目录权限,尝试sudo chmod-r 700.ssh在您的目录上,如果引起问题,它可能会帮助您

xmq68pz9

xmq68pz92#

您可以通过以下方式从windows计算机ssh到gce示例:
删除所有以前的python版本,删除users\yourusername下的文件夹“.ssh”,并删除以前的program files\google目录
安装最新的windows版本的cloudsdk并接受python2.7的安装。https://cloud.google.com/compute/docs/gcloud-compute/#install
以管理员身份打开google cloud sdk shell并执行$gcloud auth login
gcloud compute ssh到您选择的vm(注意:这将失败,但将在您的windows机器上创建google云ssh密钥)
打开program files\google\cloud sdk\google cloud sdk\bin\sdk\ssh term中cloud sdk附带的putty版本
在putty中指定密钥:选择connection、ssh、auth,单击“browse”,从users\yourusername.ssh中选择密钥
在putty中,单击“session”插入vm的ip并连接(使用windows用户名作为“login as”),您可以在公钥的末尾找到这个用户名。

py49o6xq

py49o6xq3#

所以,听起来这里有几个问题在起作用:
bdutil仍然使用 gcutil ssh 而不是 gcloud compute ssh (但是升级到使用gcloud compute ssh的工作正在进行中),所以即使您可以配置本地环境 gcloud compute ssh 工作,bdutil仍然需要 gcutil ssh 为了部署hadoop集群,请注意,在大多数情况下,这两个不同的命令的功能是相同的。
从cmd.exe或putty运行并不能充分设置“gcutil”的环境;传统上,指令包括安装“cygwin”以提供一个posix环境,在其中运行googlecloudsdk工具。
您可以看到这篇相关的stackoverflow文章,内容是关于“gcutil ssh”需要cygwin:无法从命令行运行gcutil
因此,如果您确保安装了cygwin,然后使用cygwin shell(不是cmd.exe或putty),确保“gcutil ssh”在没有密码短语的情况下工作,那么bdutil应该从cygwin开始工作。
另一种方法是启动一个运行类似debian-7的n1-standard-1vm作为“bdutil运行程序”,确保单击“高级设置”并启用云存储和计算引擎“服务帐户”。在“bdutil runner”中,您可以通过键入

gcutil ssh `hostname`

并在提示时保持密码短语为空,然后使用该vm运行部署。

相关问题