Vagrant - SSH連接方式

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 [email protected] -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

 

發佈了40 篇原創文章 · 獲贊 231 · 訪問量 82萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章