我已经设置了三台虚拟机,两台在一个虚拟网络上,一台在另一个虚拟网络上本教程,建议本论坛有类似的问题。因此,虚拟网络设置在两个不同的 Azure 服务器上:澳大利亚东部和澳大利亚东南部。然后我创建了两个网关,每个网关都有不同的 IP 范围,例如 192.168.0.0/16 和 10.0.0.0/16,然后使用 Azure 接口将它们连接在一起。
现在,我想要做的是让主客户端将文件复制到其他两台服务器以更新配置,或者通过客户端服务器 ssh 进入另一台服务器以更新或添加用户。但是当我尝试ssh 用户名@ip 地址尽管我已向 Azure 提供了网络的 PSK,但它仍给我一个没有权限. 因此我使用以下方法打开端口即时访问同样的事情,没有权限。
昨天,我尝试将所有服务器放在同一个网络上,然后添加了主机名系统控制并通过 /etc/environment 设置 ssh 访问权限,我能够使用 ssh-copy-id 并进入从属服务器,但最终当我运行我想安装的主程序并在三台服务器之间工作时,权限再次被拒绝。我在 Azure 上浪费时间吗?这在服务上是否完全可能实现?
02-07-19 编辑:
通过bind9设置内部和外部网络。更改sshd_配置到;PermitRootLogin 禁止密码,因为 WAV 和 LAN 都是 private_ip 地址。如果需要,可以列出我在 bind9 DNS 文件中所做的操作,从 [此网站] 获取并修改为内部 ip_addresses3并输出 hadoop 二进制文件这里:
$ start-dfs.sh
Starting namenodes on [hadoop.dns.nameUsed]
hadoop.twor.universe: ssh: Could not resolve hostname hadoop.dns.nameUsed: Name or service not known
Starting datanodes
10.1.0.4: [email protected]: Permission denied (publickey).
10.1.0.5: [email protected]: Permission denied (publickey).
Starting secondary namenodes [NameOf-Client-Node]
NameOf-Client-Node: hadoop@NameOf-client-node: Permission denied (publickey).
我想知道是不是因为 a) 我不知道,还是因为 b)我在客户端服务器上有 dns 服务不管怎样,尝试一下也没什么坏处。
还没有完全了解端口,这可能是许可被拒绝,Apache Hadoop 端口
答案1
新手常犯的错误,修复步骤如下:
通过 Azure 门户重置密码,以使从属服务器无法 ssh 进入 重设密码。
添加用户名和密码并保存。
转到主节点的终端。
$ ssh-keygen -t rsa
$ scp .ssh/id_rsa.pub 用户名@IP地址
$ ssh 用户名@IP地址
$ nano /etc/ssh/sshd_config
更改以下值:
- ChallengeResponseAuthentication 否
- 密码验证否
- UsePAM 否
保存并退出
$ logout
$ cat .ssh/id_rsa.pub
4. 手动从终端复制 RSA 密钥输出。5
. 转到 Azure 门户(所有从属节点)并通过以下方式重置 ssh:
重设密码
6. 添加上面复制的用户名和RSA密钥并保存。
7. 进入主节点的命令行界面。
8. ssh 用户名@IP地址
然后您就应该进入了,否则,将端口 22 添加到从属节点目标私有 IP 地址。在上述步骤之前已经添加。