SSH

格式:

vagrant ssh [options] [name|id] [-- extra ssh args]

这将SSH导入正在运行的vagrant机器,并允许你访问机器的shell。

userdeMacBook-Pro:~ user$ vagrant ssh -h
Usage: vagrant ssh [options] [name|id] [-- extra ssh args] Options: -c, --command COMMAND Execute an SSH command directly 直接执行SSH命令
-p, --plain Plain mode, leaves authentication up to user 普通模式,将身份验证留给用户
-t, --[no-]tty Enables tty when executing an ssh command (defaults to true) 在执行ssh命令时启用tty(默认为true)
-h, --help Print this help 打印帮助信息

1.

1)在一个简单的vagrant项目中,创建的实例将被命名为default。即不使用实例的名字和使用default得到的结果是一样的,如:

userdeMacBook-Pro:~ user$ vagrant ssh
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.--generic x86_64) * Documentation: https://help.ubuntu.com/
New release '14.04.5 LTS' available.
Run 'do-release-upgrade' to upgrade to it. Welcome to your Vagrant-built virtual machine.
Last login: Mon Dec :: from 10.0.2.2
vagrant@precise64:~$ logout
Connection to 127.0.0.1 closed.

使用default:

userdeMacBook-Pro:~ user$ vagrant ssh default
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.--generic x86_64) * Documentation: https://help.ubuntu.com/
New release '14.04.5 LTS' available.
Run 'do-release-upgrade' to upgrade to it. Welcome to your Vagrant-built virtual machine.
Last login: Mon Dec :: from 10.0.2.2
vagrant@precise64:~$ logout
Connection to 127.0.0.1 closed.

可见在同一个项目中都是打开同一个实例

2)在多机器设置中,你可以使用vagrant状态中显示的名称登录到每个vm,如:

 $ vagrant status
Current machine states: node1 running (virtualbox)
node2 running (virtualbox) This environment represents multiple VMs. The VMs are all listed
above with their current state.
$ vagrant ssh node1
Welcome to your Vagrant-built virtual machine.
Last login: Fri Sep :: from 10.0.2.2
vagrant@precise64:~$ logout
Connection to 127.0.0.1 closed.
$ vagrant ssh node2
Welcome to your Vagrant-built virtual machine.
Last login: Fri Sep :: from 10.0.2.2
vagrant@precise64:~$ logout
Connection to 127.0.0.1 closed.

3)在运行来自不同项目的机器的系统中,你可以使用流浪全局状态中列出的id:

userdeMacBook-Pro:~ user$ vagrant global-status
id name provider state directory
------------------------------------------------------------------------
547b2b8 default virtualbox running /Users/user The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date (use "vagrant global-status --prune" to prune invalid
entries). To interact with any of the machines, you can go to that
directory and run Vagrant, or you can use the ID directly with
Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"

然后使用上面显示的id-547b2b8运行机器:

userdeMacBook-Pro:~ user$ vagrant ssh 547b2b8
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.--generic x86_64) * Documentation: https://help.ubuntu.com/
New release '14.04.5 LTS' available.
Run 'do-release-upgrade' to upgrade to it. Welcome to your Vagrant-built virtual machine.
Last login: Mon Dec :: from 10.0.2.2
vagrant@precise64:~$ logout
Connection to 127.0.0.1 closed.

如果在命令行中找到--(两个连字符),则在此之后的任何参数都将直接传递到ssh可执行文件中。这允许你传递任意命令,以便执行诸如反向隧道深入到ssh程序中的操作。

2.SSH客户机使用

vagrant将尝试使用安装在主机上的本地SSH客户机。在POSIX机器上,必须安装SSH客户机,并在路径上可用

对于Windows安装,安装程序镜像中提供了SSH客户机。如果在当前路径上没有找到SSH客户机,vagrant将使用它提供的SSH客户机。根据用于运行vagrant程序的本地环境,安装程序提供的SSH客户机可能无法正常工作。例如,当使用cygwin或msys2 shell时,SSH客户机在交互运行时将无法按预期工作。安装为当前工作环境构建的SSH包将解决这个问题。

3.后台执行

如果你指定的命令在后台运行(例如将&追加到shell命令中),它几乎会立即终止。这是因为,当Vagrant执行该命令时,它将在shell上下文中执行该命令,当shell退出时,所有子进程也将退出。

为了避免这种情况,你需要将流程从shell中分离出来。请谷歌了解如何为你的shell执行此操作。其中一种方法是nohup命令。

4.Pageant on Windows

SSH可执行文件将无法访问Windows上的Pageant。虽然vagrant可以通过内部库访问Pageant,但是SSH可执行文件不支持Pageant。这意味着,当使用vagrant ssh命令时,Pageant中的键不可用于转发。

virtualbox+vagrant学习-2(command cli)-17-vagrant ssh命令的更多相关文章

  1. virtualbox+vagrant学习-2(command cli)-26-vagrant share命令

    Share share命令初始化了一个vagrant share会话,允许你与世界上任何一个人共享vagrant环境,允许在几乎任何网络环境中直接在vagrant环境中进行协作. 你可以在本博客的vi ...

  2. virtualbox+vagrant学习-2(command cli)-1-vagrant box命令

    vagrant box 这是用于管理(添加.删除等)boxes的命令. box 是一个打包好的操作系统,是一个后缀名为 .box 的文件,其实是一个压缩包,里面包含了 Vagrant 的配置信息和 V ...

  3. virtualbox+vagrant学习-2(command cli)-2-vagrant cloud命令--有问题

    Cloud https://www.vagrantup.com/docs/cli/cloud.html 命令: vagrant cloud 这是用来管理与vagrant相关的任何东西的命令. 该命令的 ...

  4. virtualbox+vagrant学习-2(command cli)-7-vagrant login命令

    Login ⚠️该命令已经弃用了,别名为vagrant cloud auth login.看本博客的 格式: vagrant cloud auth login [options] 登录命令用于使用Ha ...

  5. virtualbox+vagrant学习-2(command cli)-11-vagrant PowerShell命令

    PowerShell 格式: vagrant powershell [-- extra powershell args] 这将在主机上打开PowerShell提示符,进入正在运行的vagrant机器. ...

  6. virtualbox+vagrant学习-2(command cli)-4-vagrant global-status命令

    Global Status 格式: vagrant global-status 这个命令将告诉你当前登录的用户系统上所有活跃的vagrant环境的状态. userdeMacBook-Pro:~ use ...

  7. virtualbox+vagrant学习-2(command cli)-27-vagrant connect命令

    Connect 命令: vagrant connect NAME connect命令通过启用对共享环境的访问来补充share命令.你可以在“vagrant share”部分了解有关vagrant sh ...

  8. virtualbox+vagrant学习-2(command cli)-18-vagrant ssh-config命令

    SSH Config 格式: vagrant ssh-config [options] [name|id] 这将从SSH直接将SSH配置文件的有效配置输出到正在运行的vagrant 计算机(而不是使用 ...

  9. virtualbox+vagrant学习-2(command cli)-21-vagrant up命令

    Up 格式: vagrant up [options] [name|id] 这个命令根据你的Vagrantfile文件创建和配置客户机. 这是“vagrant”中最重要的一个命令,因为它是创建任何va ...

随机推荐

  1. 前端(九):react生命周期

    一.组件渲染 当组件的props或者state发生改变时,组件会自动调用render方法重新渲染.当父组件被重新渲染时,子组件也会被递归渲染.那么组件是如何渲染的呢? # 方案一 1.state数据 ...

  2. proto3 笔记1

    定义 Message 类型, 例子如下: syntax = "proto3"; message SearchRequest { string query = 1; int32 pa ...

  3. TortoiseGit用户手册

    3 配置TortoiseGit 3.1 生成公钥 生成SSH安全密钥,提供给GIT版本库管理员以访问Git 版本库,点击桌面上生成的图标 然后执行执行“ssh-keygen”生成自己的公钥: 一路回车 ...

  4. Windows上只复制目录结构不复制文件

    xcopy /T /E D:\filetest\FB\BK\bs\ D:\filetest\asdf

  5. vue自定义日历组件的实现

    实现一个日期组件,如图: components.js代码如下: Vue.component('sc-calendar',{ template:'<div class="scCalend ...

  6. Android 蓝牙开发之搜索、配对、连接、通信大全

            蓝牙( Bluetooth®):是一种无线技术标准,可实现固定设备.移动设备和楼宇个人域网之间的短距离数据 交换(使用2.4-2.485GHz的ISM波段的UHF无线电波).蓝牙设备最 ...

  7. 各浏览器禁用某网站JS脚本的方法 【转】

    某些网站,经常会加载一些非常讨厌的JS脚本,如果我们想禁止这个网站的JS脚本,可以使用下面的方法: 一.IE浏览器 1.在Internet选项中,选择安全选项卡,然后点击受限制的站点,点击下面的站点 ...

  8. 网络I/O模型--06异步I/O

    异步I/O (又称为 AIO )则是采用“订阅一通知”工作模式 : 即应用程序向操作系统注册I/O监听,然后继续做自己的事情.当操作系统发生I/O事件,并且准备好数据后 , 再主动通知应用程序,触发相 ...

  9. NLS_LANG引起的SQLPLUS乱码和length长度不正确.

    创建一个实验表语句如下 SQL> create table test(id number,name varchar2(10)); 当我们在SQLPLUS里面敲入下面的语句并回车执行的时候,SQL ...

  10. vue-cli的webpack模板项目配置文件说明

    如果没有vue-cli,那么进行vue项目的开发环境配置将是很费力的一件事情,现在脚手架可以快速构建一个开发环境,是很不错的.不过对于脚手架构建的配置,还是要大概了解一下,方便自己调试配置. 初始化一 ...