我已经在 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文件中。