cat ssh-vm

  1. HOSTIP=`ip route get 1 | awk '{match($0, /.+src\s([.0-9]+)/, a);print a[1];exit}'`
  2. HOST_NETS=`ip addr |grep 192.168.3.33 | awk '{match($0, /.+inet\s([/.0-9]+)/, a);print a[1];exit}'`
  3. HOST_NETS=${HOST_NETS:-192.168.3.0/24}
  4. NETS=${NETS:-$HOST_NETS}
  5. # MAC=${MAC:-08:00:27:7c:55:26}
  6. VBoxManage list vms
  7. USR=${USR:-mxh}
  8. VM1=$(VBoxManage list vms | head -n 1 | awk '{ print $1 }')
  9. VM1=${VM1:-ubuntu-18.04}
  10. VM1=${VM1%\"*}
  11. VM1=${VM1#*\"}
  12. VMID1=$(VBoxManage list vms | head -n 1 | awk '{ print $2 }')
  13. VMID1=${VMID1%\}*}
  14. VMID1=${VMID1#*\{}
  15. VMNAME=${VMNAME:-$VM1}
  16. echo "VM name is: $VMNAME, UUID is: $VMID1"
  17. 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/:$//'`
  18. MAC=${MAC:-$NIC_MAC}
  19. echo "VM nic MAC is: $MAC"
  20. # VBoxManage guestproperty enumerate $VMNAME
  21. # VBoxManage guestproperty get $VMNAME "/VirtualBox/GuestInfo/Net/1/V4/IP" | awk '{ print($2); }')
  22. # ssh -l USERNAME $VM_IP
  23. # VM_IP=$(vboxmanage guestproperty get "VM_NAME" "/VirtualBox/GuestInfo/Net/0/V4/IP" | awk '{ print($2); }')
  24. # VBoxManage guestproperty get "CHICAGOVPN" "/VirtualBox/GuestInfo/Net/0/V4/IP" | awk '{ print $2 }'
  25.  
  26. echo "Please to frush arp table in networks($NETS) firstly by run:"
  27. echo "nmap -sP $NETS"
  28. IP=`ip neighbor | grep -i "$MAC" | cut -d" " -f1`
  29. VMIP=${VMIP:-IP}
  30. echo "VM IP is: $IP"
  31. if [ !-n $IP ]; then
  32. echo "VM IP is NULL, exit"
  33. exit 1
  34. fi
  35. echo "Log VM: ssh $USR@$IP"
  36. ssh $USR@$IP
  37. exit 0
  38. # fping -f $NETS
  39. # https://stackoverflow.com/questions/13552881/can-i-determine-the-current-ip-from-a-known-mac-address
  40. IP=`nmap -sP $NETS >/dev/null && arp -an | grep $MAC | awk '{print $2}' | sed 's/[()]//g'`
  41. echo $IP
  42.  
  43. # https://serverfault.com/questions/540107/connect-via-ssh-to-virtualbox-guest-vm-without-knowing-ip-address
  44. # linux vboxmanage show nic mac address

  

  

  1. NETS=192.168.3.0/24
  2. # MAC=${MAC:-08:00:27:7c:55:26}
  3. VBoxManage list vms
  4. USR=${USR:-mxh}
  5. VM1=$(VBoxManage list vms | head -n 1 | awk '{ print $1 }')
  6. VM1=${VM1:-ubuntu-18.04}
  7. VM1=${VM1%\"*}
  8. VM1=${VM1#*\"}
  9. VMNAME=${VMNAME:-$VM1}
  10. echo "VM name is: $VMNAME"
  11. 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/:$//'`
  12. MAC=${MAC:-$NIC_MAC}
  13. echo "VM nic MAC is: $MAC"
  14. # VBoxManage guestproperty enumerate $VMNAME
  15. # VBoxManage guestproperty get $VMNAME "/VirtualBox/GuestInfo/Net/1/V4/IP" | awk '{ print($2); }')
  16. # ssh -l USERNAME $VM_IP
  17. # VM_IP=$(vboxmanage guestproperty get "VM_NAME" "/VirtualBox/GuestInfo/Net/0/V4/IP" | awk '{ print($2); }')
  18. # VBoxManage guestproperty get "CHICAGOVPN" "/VirtualBox/GuestInfo/Net/0/V4/IP" | awk '{ print $2 }'
  19.  
  20. echo "Please to frush arp table firstly by run:"
  21. echo "nmap -sP $NETS"
  22. IP=`ip neighbor | grep -i "$MAC" | cut -d" " -f1`
  23. VMIP=${VMIP:-IP}
  24. echo "VM IP is: $IP"
  25. if [ -n $IP ]; then
  26. echo "VM IP is NULL, exit"
  27. exit 1
  28. fi
  29. echo "Log VM: ssh $USR@$IP"
  30. ssh $USR@$IP
  31. exit 0
  32. # fping -f $NETS
  33. # https://stackoverflow.com/questions/13552881/can-i-determine-the-current-ip-from-a-known-mac-address
  34. IP=`nmap -sP $NETS >/dev/null && arp -an | grep $MAC | awk '{print $2}' | sed 's/[()]//g'`
  35. echo $IP
  36.  
  37. # https://serverfault.com/questions/540107/connect-via-ssh-to-virtualbox-guest-vm-without-knowing-ip-address
  38. # 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. c#语法复习总结(1)-浅谈c#.net

    出来工作两年,发现自己进步太小了,工作能力是不能混的,想先从基础知识好好复习一下,再深入的学习一些高级框架和先进的理念.找回了博客园的密码账号,好好学习和总结.先从数据类型总结一下,无非就是值类型,引 ...

  2. 思维导图xmind的文档保存问题

    如果文件名相同,可能最新的文档覆盖以前的.当前活动文档只能有一个,如果有多个,保存后,其他活动文档也被更新了. 新建一个空白doc文档,仅仅是文件名,作为附件导入到xmind中,在xmind中保存后, ...

  3. 2019 东方网java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.东方网等公司offer,岗位是Java后端开发,因为发展原因最终选择去了东方网,入职一年时间了,也成为了面试官 ...

  4. Django--一对多表操作

    目录 Django--一对多表操作 需求 步骤 添加路由映射关系 学生表的增删改查 ajax更新和添加 Django--一对多表操作 今天还以一个学生管理系统为例,先通过pymysql这个模块,进行一 ...

  5. Beyond Compare 4 30天评估期结束的解决办法

    修改注册表 regedit注册表中删除项目:HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4\CacheId 删除dll 重命名 ...

  6. 下一代微服务-ServiceMesh

    1.简介 系统服务化之后,服务间通信需要关注什么? 服务发现.负载均衡.路由.流控.通信可靠性.弹性.安全.监控.日志 API网关可以集中式的管理这些功能,但是会出现单点故障,并且实现起来网关会变得越 ...

  7. Python 栈、队列的实现

    在python中,列表既可以作为栈使用,又可以作为队列使用. 把列表作为栈使用 栈:后进先出 stack=[1,2,3] stack.append(4) #入栈,以列表尾部为栈顶 print(stac ...

  8. 自动化测试模型 Selenium IDE Selenium Gird2

    1.线性测试 每个测试脚本相对独立,且不产生其他依赖与调用,其实就是单纯的来模拟用户完整的 操作场景.前一篇所写的测试脚本就属于线性测试. 优点:每个脚本完整且独立 缺点:测试用例的开发与维护成本高 ...

  9. Ansible-目录

    Ansible-概念 Ansible-安装 YAML语法

  10. Lnmp环境安装禅道项目管理软件

    1.本地环境 CentOS Linux release 7.5.1804 (Core) PHP 7.1.0-dev (cli) mysql Ver 14.14 Distrib 5.7.22 nginx ...