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
成功。
————————————————
第二篇补充参考:https://www.jianshu.com/p/ca73a93d5843