Vagrant - SSH连接方式

本文介绍了三种使用Vagrant进行SSH连接的方法:直接使用vagrant ssh命令、通过指定参数实现普通SSH连接以及配置.ssh/config文件实现快速连接。并解决了在Windows 10环境下因文件编码格式导致的连接问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vagrant VM启动后(vagrant up),ssh连接时,使用下面的命令可以直接连接

方式一

vagrant ssh

该连接默认使用的时OpenSSH连接,如果没安装的话,连接会失败。

方式二

或者通过指定参数,实行普通的ssh连接

PS C:\work\ansible-sample> vagrant ssh-config
Host node1
  HostName 127.0.0.1  ★
  User vagrant  ★
  Port 2201  ★
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/user/.vagrant.d/insecure_private_key  ★
  IdentitiesOnly yes
  LogLevel FATAL

指定上面 ★ 的内容 ssh连接

ssh vagrant@127.0.0.1 -p 2201 -i C:/Users/user/.vagrant.d/insecure_private_key

方式三

ssh连接时,每次都要指定参数,比较麻烦,可以使用下面的方式进行快速连接
将ssh-config的内容拷贝到 .ssh/config文件中,直接ssh连接

操作

在当前的VM所在目录下执行下面的命令

vagrant ssh-config >> ~/.ssh/config

也可以指定copy的host
注;此时如果ssh-config内存在多个vm时,所有的host名均被设置为node1

vagrant ssh-config --host node1 >> ~/.ssh/config

测试

连接

PS C:\work\ansible-sample> ssh node1
C:\\Users\\user/.ssh/config: line 1: Bad configuration option: \377\376h
C:\\Users\\user/.ssh/config: terminating, 1 bad configuration options

原因

在window10内通过 Powershell(或者 git cmd等) 创建的该文件默认文件格式是 UTF-16 LE。
Poweshell默认的是文件生成格式时 UTF-16.该格式已经不再使用。
参照 Powershell文件生成格式变更

解决

参照上面的链接,修改文件生成格式

PS C:\work\ansible-sample> $PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
PS C:\work\ansible-sample> vagrant ssh-config > ~/.ssh/config

连接测试

PS C:\work\ansible-sample> ssh node1
Last login: XXXXX 08:43:22 2019 from 10.0.2.2

成功。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值