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的更多相关文章

  1. Vagrant Tip: Virtualbox Guest Additions

    Vagrant Tip: Virtualbox Guest Additions 12 February 2016 Tired of seeing this message when you run v ...

  2. Azure PowerShell (12) 通过Azure PowerShell创建SSH登录的Linux VM

    <Windows Azure Platform 系列文章目录> 本章将介绍如何使用Azure PowerShell,创建SSH登录的Linux VM 前提要求: 1.安装Azure Pow ...

  3. 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 ...

  4. Install VirtualBox Guest Additions for elementary os

    Pls refer to: Install VirtualBox Guest Additions for elementary os

  5. KVM虚拟机IO处理过程(一) ----Guest VM I/O 处理过程

    虚拟化技术主要包含三部分内容:CPU虚拟化,内存虚拟化,设备虚拟化.本系列文章主要描述磁盘设备的虚拟化过程,包含了一个读操作的I/O请求如何从Guest Vm到其最终被处理的整个过程.本系列文章中引用 ...

  6. VirtualBox Guest Additions installation

    在使用VirtualBox为CentOS安装增强功能时,输出是: 文本: Verifying archive integrity... All good. Uncompressing VirtualB ...

  7. SSH连接virtualbox中的虚拟机

    SSH连接virtualbox中的虚拟机 SSH 与 Virtualbox 使用virtualbox创建虚拟机进行工作,可以有效地减少本机环境与工作环境之间的相互影响.但Server虚拟机的界面实在太 ...

  8. openebula vm无法获取IP问题解决

    http://archives.opennebula.org/documentation:archives:rel2.2:cong Contextualizing Virtual Machines 2 ...

  9. 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 ...

随机推荐

  1. kafka controller脑裂(多个controller)问题

    问题:情况一:创建topic成功,但是produce的时候,却报unknown partition的错误,但zk上却显示了每个partition的leader信息:情况二: 给某个topic增加分区, ...

  2. C#读写修改设置调整UVC摄像头画面-滚动

    有时,我们需要在C#代码中对摄像头的滚动进行读和写,并立即生效.如何实现呢? 建立基于SharpCamera的项目 首先,请根据之前的一篇博文 点击这里 中的说明,建立基于SharpCamera的摄像 ...

  3. Puppet自动化管理配置

    Puppet:开源系统配置和管理工具 随着虚拟化和云计算技术的兴起,计算机集群的自动化管理和配置成为了数据中心运维管理的热点.对于 IaaS.Paas.Saas 来说,随着业务需求的提升,后台计算机集 ...

  4. react 使用的小建议

    使用pureRender,setState和Immutable.js来操作state Immutable 中文意思不可变. 不能直接修改state的值,要用setState 和Immutable re ...

  5. 《高性能javascript》随笔

    1.css文件在head标签中引入,保证在渲染结构的时候进行样式渲染2.Js文件放在body的底部,确保在渲染dom树的时候不会出现js阻塞3.函数内的变量是访问速度最快的,全局变量的访问速度是最慢的 ...

  6. MySQL5.7 报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement

    MySQL5.7 报错 : ERROR 1820 (HY000): You must reset your password using ALTER USER statement before exe ...

  7. 【爬虫】Load版的生产者和消费者模式

    ''' Lock版的生产者和消费者模式 ''' import threading import random import time gMoney = 1000 # 原始金额 gLoad = thre ...

  8. Odoo MRP模块

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10825963.html 一:MRP MRP:产品制造管理. 产品制造业务设计到以下几个关键概念: 1)BOM ...

  9. [STM32].NVIC嵌套中断向量的理解

    转自:http://www.21ic.com/embed/jiaocheng/sheji/201209/5634.html 一.STM32 (Cortex-M3) 中的优先级概念 STM32(Cort ...

  10. gitlab修改IP地址及仓库地址

    将IP修改为192.168.10.100,操作方法 . 先修改本地的IP地址 vim /etc/sysconfig/network-scripts/ifcfg-eth0TYPE=EthernetBOO ...