VMware workstation
CentOS 7
SSH
author:zoxiii
两个虚拟机相互通信
1、克隆虚拟机
1.1、克隆两个初始状态的Centos 7 虚拟机,一个命名为masternode
,一个命名为slavenode
1.2、等待虚拟机克隆完成
1.3、克隆完成,得到两个新的虚拟机
2、网络配置
2.1、参照另一篇博客虚拟机NAT模式下配置网络地址中的步骤配置网络
2.2、这里我使用的ip地址如下
虚拟机名称 | ip |
---|---|
masternode | 192.168.184.100 |
slavenode | 192.168.184.101 |
3、相互通信
3.1、修改主机名:修改配置文件方法
# vi /etc/sysconfig/network
添加如下内容:
NETWORKING=yes
HOSTNAME=slave
尝试使用上述方法无效!!
3.2、修改主机名
分别对两个虚拟机都操作
# hostnamectl set-hostname 你想要设置的主机名称(master/slave)
3.3、配置IP和主机名映射文件
分别对两个虚拟机都操作
# vi /etc/hosts
添加如下内容:
192.168.184.100 master // masternode
192.168.184.101 slave // slavenode
3.4、测试通信
在masternode上测试:
# ping slave
4、SSH无密码登录
实现的是master服务器可以通过ssh服务无密码登录到slave服务器的操作
4.1、在master服务器上执行命令创建密钥对
# ssh-keygen -t rsa -P '' // 加密方式rsa [-P old_passphrase] ----将会生成密钥文件和公钥文件 id_rsa,id_rsa.pub
# cd /root/.ssh // 进入.ssh目录下
# ls // 查看该目录下的所有文件(验证命令是否操作成功)
4.2、传递公钥
# scp -r /root/.ssh/id_rsa.pub root@192.168.184.101:~ // 将公钥传输给slave服务器(此步需要输入密码)
# ssh 192.168.184.101 // ssh登录到slave服务器(此步需要输入密码)
# mkdir /root/.ssh // 创建.ssh文件夹
# touch /root/.ssh/authorized_keys // 创建authorized_keys文件
# cat /root/id_rsa.pub >> /root/.ssh/authorized_keys // 复制id_rsa.pub的内容到authorized_keys
# cat /root/.ssh/authorized_keys // 查看是否复制成功
# chmod 700 /root/.ssh // 为.ssh文件夹添加权限(700:只有拥有者有读、写、执行权限)
# chmod 600 /root/.ssh/authorized_keys // 为authorized_keys文件添加权限(600:拥有者可读写,其他人不可读写执行)
4.3、测试是否可以无密码登录
# ssh 192.168.184.101 // ssh登录到slave服务器(此步不需要输入密码则成功)
其中:
ssh
参考:ssh命令详解
+++++++++++++++++++++++++++++
scp
功能 -->远程文件的安全(加密)拷贝
参考:scp命令详解
4.4、关闭防火墙
分别对两个虚拟机都操作Centos 7 以下版本(不用运行)
# service iptables stop ## 即时生效、重启后失效
# chkconfig iptables off ## 重启后永久生效
Centos7版本对防火墙进行加强,不再使用原来的iptables,启用firewalld
所以这里使用命令
# firewall-cmd --state ## 查看防火墙的状态
# systemctl stop firewalld ## 禁用防火墙
参考文献:
[1] 从零开始学hadoop大数据分析
[2] linux下ssh/scp无密钥登陆方法