Ubuntu SSH 通信

Ubuntu SSH 通信

我已经在 VMware 上安装了 2 个 Ubuntu,并且正在尝试使用 在两台机器之间进行通信ssh

我做了以下更改:使用 ips 更新了主从两台机器上的 etc/host 文件

127.0.0.2   slave
127.0.0.3   master

并创建了两台机器之间进行通信的密钥。

当我尝试将文件从主服务器复制到从服务器时,它会复制到主服务器而不是从服务器:

sh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
ssh-copy-id -i $HOME/.ssh/id_rsa.pub user@slave

尝试从主服务器复制到从服务器

scp -r /usr/local/somedir user@slave:/home/user/Downloads/Somethings

你能告诉我我到底错在哪里吗?

答案1

我不太清楚你在这里做了什么。谁是从属,谁是主?它们都在虚拟机中运行吗?主机操作系统是什么?你真的可以使用你添加到的 IP 访问这些机器吗hosts

假设您的问题只是关于复制 ssh 密钥,您需要将密钥复制到要登录的机器上。因此,如果您登录到“从属”,请运行

sh-keygen -t rsa -P ""
ssh-copy-id -i $HOME/.ssh/id_rsa.pub user@master

现在您可以从从服务器登录到主服务器而无需密码。您无需向文件中添加任何内容authorized_keys,登录时将自动完成。

要从主服务器登录从服务器,您需要先登录主服务器,然后重复该过程:

sh-keygen -t rsa -P ""
ssh-copy-id -i $HOME/.ssh/id_rsa.pub user@slave

答案2

IPv4 网络标准将整个 127.0.0.0/8 地址块保留用于环回目的。这意味着发送到这 16​​,777,214 个地址(127.0.0.1 至 127.255.255.255)之一的任何数据包都将被环回。

维基百科:本地主机

这意味着尝试访问127中的任意IP。.* 范围将访问当地的电脑。

您需要将虚拟机的 IP 设置为 VMware 分配的私有子网;为此,请设置“内部”类型的网络适配器。IP 应由 DHCP 自动分配。请参阅有关网络编辑器小程序的 VMware 文档。

答案3

你使用环回地址,它会查找从属地址,并将其指向自身

您需要为您的机器分配本地地址,即 192.168.0.x

另外,我不明白为什么需要将公钥放在同一个主机的authorized_keys文件中。

相关内容