三台Centos7虚拟机之间实现ssh,rsh互连,虚拟机和本机基于ssh进行文件传输
三台Centos7虚拟机之间实现ssh,rsh互连,虚拟机和本机基于ssh进行文件传输
前言:实现内容如题,这两天在做这个,看了很多博客和一些教程,虽然实现过程磕磕绊绊,但是最后还是实现了。在此记录一下实现的过程,供大家学习参考(操作可能有误,欢迎大家评论区批评指正)
- 本机操作系统:windows10 使用虚拟机:VMware Workstation16 Pro 虚拟机操作系统:Centos7
- 准备:安装三个Centos7的虚拟机或者装一个虚拟机再复制另外两个,虚拟机的IP地址你可以自己定,只要别用特殊的IP地址就行了我这里的为(这里IP地址的前三位要去查一下本机对于虚拟机分配的地址(详情之后内容会涉及),要保证在同一个网段之中,只有最后一位是你自己设定的):
一,配置网络
1.首先配置网络让三台虚拟机之间可以相互ping通。这里只展示一台虚拟机如何配置,另外两台的本质上同理
点击此处打开网络编辑器,如下图所示:
点击“修改设置(这里是获取管理员权限,如果已经是管理员权限的就不用了)”——>“NAT设置”
这里要确保网关和子网在同一个网段,就是前面说的192.168.154这前三个数字要相同。具体在哪看?在本机命令行输入ipconfig,找到虚拟机的适配器对应的IP地址,如下图所示:
然后要做的是对于本机网络的配置:开始菜单->运行->services.msc或从控制面板中找到“服务”一项打开,找到以vmware开头的服务,确保都启用。
2.然后就是对于虚拟机的配置了:
切换权限为超级用户:在终端输入
su -
关闭防火墙(这个很重要,不然会报错No route to host):
- 先输入
systemctl stop firewalld
命令关闭防火墙,然后输入systemctl disable firewalld
命令禁用防火墙即可
- 先输入
关闭SWLINUX(Linux安全内核模块):
终端输入vim /etc/selinux/config
修改命令:SELINUX=disabled。系统重启后,新的设置才能生效。
修改主机名(hostbname):
- 这个也很重要,不然会出现系统识别不出对应的虚拟机的情况,因为名字都一样
- 具体修改是通过命令
hostnamectl set-hostname ***
,然后重启系统就可以了,如果想查看主机名可以通过指令hostname。改完名字之后你会发现你的终端前面显示的主机名变了。
3.配置Centos网络
通过命令到cd /etc/sysconfig/network-scripts
到网络配置的目录下,找到当前虚拟机使用的网络的配置文件,我这里的是ifcfg-ens32。
修改其中的配置文件如下所示(主要是加上你刚刚设定的IPADDR。而子网掩码、网关、域名这些好像不加也没什么问题),修改用vim ifcfg-ens32
命令进入就可以修改了,VIM的具体使用方法网上教程很多:
4.修改host映射
通过命令vim /etc/hosts
进入,加上所需的各个虚拟机的IP地址和主机号即可
修改完之后需要重启一下网络,使用命令service network restart
即可,就算没有重启成功你把虚拟机重启一遍也是可以的。
5.以同样的方式配置另外两台虚拟机
如上所述,如果不出意外,三台虚拟机之间应该可以相互ping通,下图是在master上ping了slave1和在slave1上ping了slave2的演示。
二、实现SSH互通
1,安装并且启用SSH
Centos是默认安装的(使用rpm -qa|grep
查看是否安装,没安装就使用yum install openssh-server
j进行安装),使用命令service sshd start
启动ssh服务,使用命令chkconfig sshd on
设置开机启动,
2,令三台虚拟机各自生成密钥,将各自的公共密钥传到同一台虚拟机中合并成钥匙
首先分别修改三台虚拟机的ssh配置文件,使用vim /etc/ssh/sshd_config
命令进入,将下列内容前面的#去掉即可。
Port22
PermitRootLogin yes
PubkeyAuthentication yes(允许公钥认证)
PasswordAuthentication yes(允许RSA认证)
AuthorizedKeysFile .ssh/authorized_keys (公钥存放在.ssh/au…文件中)
修改之后通过命令
service sshd restart
重启ssh服务即可。以下内容比较重要,在此分割
然后通过命令
ssh-keygen -t rsa
生成密钥,指令执行期间会问你存放路径的问题,如果你不想改路径的话就一路回车使用默认路径即可。
默认存放的路径为~/.ssh/,之后使用scp id_rsa.pub root@master:/root/.ssh/ id_rsa.pub.slave1
命令来实现将公钥传至主机(在slave1上操作时,向master发送公钥,为了不与master的公钥重复,因此在最后加上.slave1作为标识,slave2同理,)
将其都传入主机是为了生成authorized_keys文件,包含所有机器的公钥。生成authorized_keys,此时在master的/root/.ssh/ 至少应该有id_rsa.pub.slave1 id_rsa.pub.slave2和id_rsa.pub三个文件,将三个公钥内容添加到同一文件authorized_keys中具体执行以下命令:
cd ~/.ssh/
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub.slave1 >> authorized_keys
cat id_rsa.pub.slave2 >> authorized_keys
此时,拥有该文件的虚拟机可以被另两台虚拟机直接登录,实现了ssh无密码验证互通,将此文件发送给slave1和slave2的/root/.ssh后,使三台虚拟机用root用户可以相互直接登录:
scp authorized_keys slave1:/root/.ssh/authorized_keys
scp authorized_keys slave2:/root/.ssh/authorized_keys
此时在master或slave2的terminal中输入ssh slave1
,便可登录slave1,以此类推。展示如下
三、实现RSH互通
1、安装相关服务
rsh是需要先安装的,使用yum -y install rsh*
安装相关服务,使用rpm -qa | grep rsh
检查是否安装成功,使用service xinetd restart
启动rsh服务。而在这里如果报错说不知道什么是xinetd那说明你没有安装xinetd,使用yum install -y xinetd
命令进行安装即可。
2、添加相关配置文件
2.1在目录/etc/xinetd.d/下分别添加rsh,rlogin,rexec文件,其中文件内容为(**重点在于保证disable = no **):
#rsh
service shell { disable = no socket_type = stream wait = no user = root log_on_success += USERID log_on_failure += USERID server = /usr/sbin/in.rshd
}#rloginservice login { disable = no socket_type = stream wait = no user = root log_on_success += USERID log_on_failure += USERID server = /usr/sbin/in.rlogind
}#rexecservice exec { disable = no socket_type = stream wait = no user = root log_on_success += USERID log_on_failure += USERID server = /usr/sbin/in.rexecd
}
2.2然后在目录/etc/securetty中添加rexec,rsh,rlogin,可以直接打开添加,也可以通过命令
echo "rsh" >> /etc/securetty
echo "rlogin" >> /etc/securetty
echo "rexec" >> /etc/securetty
具体内容如下所示:
2.3在目录/etc/hosts.equiv下添加其余虚拟机信息
2.4在/root/下创建**.rhosts**文件,文件内容和/etc/hosts.equiv相同
2.5执行下列命令启动服务
systemctl restart rsh.socket
systemctl restart rlogin.socket
systemctl restart rexec.socket
systemctl enable rsh.socket
systemctl enable rlogin.socket
systemctl enable rexec.socket
2.6启动xinetd,使用命令systemctl restart xinetd
,然后通过rsh命令就可以实现接入其他的虚拟机了
三、虚拟机和本机基于SSH进行文件传输
下载安装SSH Secure Shell Client 3.2.9 连接:**http://xiazai.zol.com.cn/detail/38/372685.shtml**在实现互传文件之前先要令主机和虚拟机ping通,在命令行中输入ipconfig查看本机ip,在terminal中输入ifconfig查看虚拟机ip
1关闭windows防火墙
2更改虚拟网卡设置。在NAT的连接方式下,要使主机能够ping通虚拟机,需要保证VMnet8虚拟网卡的ip地址和虚拟机的ip地址在同一网段中。打开网络与共享中心,更改适配器设置,找到VMnet8(对应NAT)设置其ipv4属性,将其改为与虚拟机ip属于同一网段
3此时主机与虚拟机应当能够相互ping通,打开SSH Secure Shell Client,点击Quick Connect,在Host name中输入虚拟机ip,在User name中输入用户名,点击connect,输入密码,成功登录的标志为显示类似terminal中的输入提示符
4点击window->New File Transfer进入文件传输界面,左边为本机文件目录,右边为虚拟机的文件目录,可直接拖拽复制
以上就是实现的所有内容了,如果遇到什么问题欢迎在评论区和我讨论
三台Centos7虚拟机之间实现ssh,rsh互连,虚拟机和本机基于ssh进行文件传输相关推荐
- 如何在Centos7配置ssh/rsh免密互信集群服务
导读 分享如何在Centos7配置ssh/rsh免密互信集群服务 ssh免密互信操作 一.在SSH服务器所在机器上 1.以root用户登录,更改ssh配置文件 /etc/ssh/sshd_config ...
- 不同物理机与虚拟机之间的通信
NAT模式下,实现不同物理机与虚拟机之间的通信 宿主机上虚拟机的网络配置 安装虚拟机时选择选择NTA模式 点击编辑 – 虚拟网络编辑器 – 更改设置 选择NAT设置 添加虚拟机中要映射的对应端口(这里 ...
- 通过ping命令测试主机与虚拟机之间是否连通
一.查询本机.虚拟机Windows IP地址 1.本机的Windows IP地址 方法一:控制面板>网络和Internet>网络和共享中心>更改适配器设置>以太网>详细信 ...
- VirtualBox虚拟机与主机互通,并且虚拟机又能上网配置
为了在VirtualBox上安装oracle 11g rac,使VirtualBox虚拟机与主机互通,并且虚拟机又能上网配置,找了很多网上文章但都没有都对最终设置方式进行详细的说明, 现在自己总结如下 ...
- win7系统两台电脑之间利用Socket实现文件传输---C++实现
参考:http://www.jb51.net/article/53732.htm 本博客主要实现了简单win7系统下,两台电脑之间(客户机与服务器)的文件传输,主要是基于Windows网络编程中win ...
- 【笔记】SSH服务:基本概述、相关命令“ssh、scp、sftp”、验证方式、场景实践、安全优化
SSH服务 SSH基本概述 SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输.确保了数据传输安全.那SSH服务主要功能有哪些呢? 1.提供远程连接服务器的服务 2. ...
- Linux远程SSH终端和文件传输工具
2019独角兽企业重金招聘Python工程师标准>>> 在Windows上打开Linux终端的工具很多,这里介绍三款目前在用的终端工具,非常好用! 1.putty 这款工具支持tel ...
- 虚拟机做linux服务器,linux虚拟机做服务器(linux搭建虚拟机)
1.安装配置VM虚拟机:2.创建虚拟机,并配置虚拟机内操作系统的硬件标准:通过虚拟机制作出的系统不仅可以模拟出硬件资源.将实验环境与真机文件分离保证数据. 首先安装vsftpd软件,然后配置文件. 首 ...
- 7 centos ssh 单机_虚拟机下CentOS7 开启SSH连接
在虚拟机(Vmware Workstation)下,安装了CentOS7,现在想通过SSH工具连接虚拟机中的CentOS7 1. 首先,要确保CentOS7安装了 openssh-server,在 ...
- 两台虚拟机之间直接通过ssh进行文件传输
在linux系统中可以用cp进行文件的拷贝.当我们通过SSH远程登录到服务器或其他机器上的时候,要如何拷贝文件呢?答案是用scp命令.这个命令用起来也很简单. 1,从服务器拷贝文件到本地,在本地终端输 ...
最新文章
- ArcCore重构-Platform_Types.h实现辨析
- Debian与《玩具总动员》
- 关于移除节点的IE和Firefox的兼容问题
- html空格代码_编写灵活、稳定、高质量的CSS代码的规范(推荐收藏)
- 谷歌拼音输入法快速切换中英文解决中英文混合打字问题
- 什么是Adam/ReLU/YOLO?这里有一份深度学习(.ai)词典
- 图像/视频超分之BackProjection
- android之字体阴影效果
- 音响在线测试软件,音响检测:漫步者煲箱软件
- udp简单通讯示例---心跳示例
- iphone上下左右手势判断代码
- 《愚公移山》深度解读
- 判断闰年和平年的程序
- SpringBoot+SpringSecurity+Thymeleaf 演示CSRF攻击
- 【Rust日报】2020-01-27 QIP:Rust中的量子计算模拟
- 【报告分享】2021中国品牌消费趋势报告-京东大数据研究院(附下载)
- TCP滑动窗口协议与流量控制
- 第8章第14节:制作企业宣传册的公司团队第一页面 [PowerPoint精美幻灯片实战教程]
- Vue3 探坑之旅3
- oracle 批量列转行,oracle 批量列转行 逗号分隔