connect via ssh to virtualbox guest vm without knowing ip address
cat ssh-vm
HOSTIP=`ip route get 1 | awk '{match($0, /.+src\s([.0-9]+)/, a);print a[1];exit}'`
HOST_NETS=`ip addr |grep 192.168.3.33 | awk '{match($0, /.+inet\s([/.0-9]+)/, a);print a[1];exit}'`
HOST_NETS=${HOST_NETS:-192.168.3.0/24}
NETS=${NETS:-$HOST_NETS}
# MAC=${MAC:-08:00:27:7c:55:26}
VBoxManage list vms
USR=${USR:-mxh}
VM1=$(VBoxManage list vms | head -n 1 | awk '{ print $1 }')
VM1=${VM1:-ubuntu-18.04}
VM1=${VM1%\"*}
VM1=${VM1#*\"}
VMID1=$(VBoxManage list vms | head -n 1 | awk '{ print $2 }')
VMID1=${VMID1%\}*}
VMID1=${VMID1#*\{}
VMNAME=${VMNAME:-$VM1}
echo "VM name is: $VMNAME, UUID is: $VMID1"
NIC_MAC=`VBoxManage showvminfo $VMNAME --details 2>&1 | grep 'NIC.*MAC' | sed -re 's/.*MAC: (.+), Attachment.*/\1/' -e 's/(\w{2})/\1:/g' -e 's/:$//'`
MAC=${MAC:-$NIC_MAC}
echo "VM nic MAC is: $MAC"
# VBoxManage guestproperty enumerate $VMNAME
# VBoxManage guestproperty get $VMNAME "/VirtualBox/GuestInfo/Net/1/V4/IP" | awk '{ print($2); }')
# ssh -l USERNAME $VM_IP
# VM_IP=$(vboxmanage guestproperty get "VM_NAME" "/VirtualBox/GuestInfo/Net/0/V4/IP" | awk '{ print($2); }')
# VBoxManage guestproperty get "CHICAGOVPN" "/VirtualBox/GuestInfo/Net/0/V4/IP" | awk '{ print $2 }'
echo "Please to frush arp table in networks($NETS) firstly by run:"
echo "nmap -sP $NETS"
IP=`ip neighbor | grep -i "$MAC" | cut -d" " -f1`
VMIP=${VMIP:-IP}
echo "VM IP is: $IP"
if [ !-n $IP ]; then
echo "VM IP is NULL, exit"
exit 1
fi
echo "Log VM: ssh $USR@$IP"
ssh $USR@$IP
exit 0
# fping -f $NETS
# https://stackoverflow.com/questions/13552881/can-i-determine-the-current-ip-from-a-known-mac-address
IP=`nmap -sP $NETS >/dev/null && arp -an | grep $MAC | awk '{print $2}' | sed 's/[()]//g'`
echo $IP
# https://serverfault.com/questions/540107/connect-via-ssh-to-virtualbox-guest-vm-without-knowing-ip-address
# linux vboxmanage show nic mac address
NETS=192.168.3.0/24
# MAC=${MAC:-08:00:27:7c:55:26}
VBoxManage list vms
USR=${USR:-mxh}
VM1=$(VBoxManage list vms | head -n 1 | awk '{ print $1 }')
VM1=${VM1:-ubuntu-18.04}
VM1=${VM1%\"*}
VM1=${VM1#*\"}
VMNAME=${VMNAME:-$VM1}
echo "VM name is: $VMNAME"
NIC_MAC=`VBoxManage showvminfo $VMNAME --details 2>&1 | grep 'NIC.*MAC' | sed -re 's/.*MAC: (.+), Attachment.*/\1/' -e 's/(\w{2})/\1:/g' -e 's/:$//'`
MAC=${MAC:-$NIC_MAC}
echo "VM nic MAC is: $MAC"
# VBoxManage guestproperty enumerate $VMNAME
# VBoxManage guestproperty get $VMNAME "/VirtualBox/GuestInfo/Net/1/V4/IP" | awk '{ print($2); }')
# ssh -l USERNAME $VM_IP
# VM_IP=$(vboxmanage guestproperty get "VM_NAME" "/VirtualBox/GuestInfo/Net/0/V4/IP" | awk '{ print($2); }')
# VBoxManage guestproperty get "CHICAGOVPN" "/VirtualBox/GuestInfo/Net/0/V4/IP" | awk '{ print $2 }' echo "Please to frush arp table firstly by run:"
echo "nmap -sP $NETS"
IP=`ip neighbor | grep -i "$MAC" | cut -d" " -f1`
VMIP=${VMIP:-IP}
echo "VM IP is: $IP"
if [ -n $IP ]; then
echo "VM IP is NULL, exit"
exit 1
fi
echo "Log VM: ssh $USR@$IP"
ssh $USR@$IP
exit 0
# fping -f $NETS
# https://stackoverflow.com/questions/13552881/can-i-determine-the-current-ip-from-a-known-mac-address
IP=`nmap -sP $NETS >/dev/null && arp -an | grep $MAC | awk '{print $2}' | sed 's/[()]//g'`
echo $IP # https://serverfault.com/questions/540107/connect-via-ssh-to-virtualbox-guest-vm-without-knowing-ip-address
# linux vboxmanage show nic mac address
connect via ssh to virtualbox guest vm without knowing ip address的更多相关文章
- Vagrant Tip: Virtualbox Guest Additions
Vagrant Tip: Virtualbox Guest Additions 12 February 2016 Tired of seeing this message when you run v ...
- Azure PowerShell (12) 通过Azure PowerShell创建SSH登录的Linux VM
<Windows Azure Platform 系列文章目录> 本章将介绍如何使用Azure PowerShell,创建SSH登录的Linux VM 前提要求: 1.安装Azure Pow ...
- Assigning Host USB device to a Guest VM
Example Assigning Host USB device to a Guest VM This example is based on qemu-kvm (0.15.0) as instal ...
- Install VirtualBox Guest Additions for elementary os
Pls refer to: Install VirtualBox Guest Additions for elementary os
- KVM虚拟机IO处理过程(一) ----Guest VM I/O 处理过程
虚拟化技术主要包含三部分内容:CPU虚拟化,内存虚拟化,设备虚拟化.本系列文章主要描述磁盘设备的虚拟化过程,包含了一个读操作的I/O请求如何从Guest Vm到其最终被处理的整个过程.本系列文章中引用 ...
- VirtualBox Guest Additions installation
在使用VirtualBox为CentOS安装增强功能时,输出是: 文本: Verifying archive integrity... All good. Uncompressing VirtualB ...
- SSH连接virtualbox中的虚拟机
SSH连接virtualbox中的虚拟机 SSH 与 Virtualbox 使用virtualbox创建虚拟机进行工作,可以有效地减少本机环境与工作环境之间的相互影响.但Server虚拟机的界面实在太 ...
- openebula vm无法获取IP问题解决
http://archives.opennebula.org/documentation:archives:rel2.2:cong Contextualizing Virtual Machines 2 ...
- ERROR 2003 (HY000): Can't connect to MySQL server on 'ip address' (111)的处理办法
远程连接mysql数据库时可以使用以下指令 mysql -h 192.168.1.104 -u root -p 如果是初次安装mysql,需要将所有/etc/mysql/内的所有配置文件的bind-a ...
随机推荐
- 【3.1】学习C++之再逢const
随着学习的深入,就会发现曾经学的const还有更深入的用法,现在就对const的未总结的用法进行总结. 本文就是针对const在类中的情况进行的总结. 有时我们会遇到下面这种将类的成员变量用const ...
- 解决TensorFlow在terminal中正常但在jupyter notebook中报错的方案
报错情况: # 本地运行正常,jupyter中无法 import tensorflow ImportError: libcublas.so.10.0: cannot open shared objec ...
- javascript原型深入解析1-prototype 和原型链、js面向对象
1.用prototype 封装类 创建的每个函数都有一个prototype(原型属性),他是个指针,指向的对象,这个对象的用途就是包含了这个类型所有实例共享的属性和方法. 回味这句,想想java或者C ...
- Elasticsearch 、 Logstash以及Kibana 分布式日志
搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群 ELK简介: ELK是三个开源软件的缩写,分别为:Elasticsearch . Logstash以及Kib ...
- localStorage、sessionStorage、Cookie的区别及用法
1.webstorage 本地存储,存储在客户端,包括localStorage和sessionStorage. (1)localStorage:生命周期是永久,这意味着除非用户显示在浏览器提供的UI上 ...
- Microsoft SQL Server数据库语法
目录 关于数据库的语法: 1.创建数据库 create database 数据库名on primary(主文件属性(name,filename,size等)) -用逗号隔开次要主要文件和次要文件( ...
- nodejs npm vue yarn 环境搭建
1.nodejs中文网http://nodejs.cn/download/下载最新版本 2.安装注意,虽然.msi包没有右键用管理员权限运行,如果直接双击安装可能会存在安装失败的问题.使用管理员权限运 ...
- HTML 图像标签(img)
一.标签属性 属性就是一个实体的特性,例如:手机的属性有大小,颜色等,HTML标签也有自己的属性. 使用HTML制作网页时,如果想让HTML标签提供更多的信息,可以使用HTML标签的属性加以设置. 语 ...
- windows 2003 域控服务器导出全部hash的方法
天下文章一大抄,我也是醉了... 一份“错误”的文章一遍又一遍的被转载,盲目转载,根本不细看.只会误导新手. 谈下windows2003域控下如何导出全部的hash信息. 1. 使用备份还原向导 2. ...
- 内网漫游之SOCKS代理大结局
0×01 引言 在实际渗透过程中,我们成功入侵了目标服务器.接着我们想在本机上通过浏览器或者其他客户端软件访问目标机器内部网络中所开放的端口,比如内网的3389端口.内网网站8080端口等等.传统的方 ...