JavaScript勉強会

JavaScriptの学習日記

VagrantのUbuntuとWinSCPでSSH接続する方法

Windows10上でLinuxを使うために、VirtualBoxVagrantUbuntu 18.04LTSをインストールしてみました。

 

jsstudy.hatenablog.com

 

Ubuntuのフォルダやファイルのリモート操作には、「WinSCP」を使ってみます。

WinSCPを使うときに、秘密鍵をPuttyGenで変換する必要があったので、作業内容をメモ。(備忘録)

 

 

WinSCPとは?

WinSCPは、Windows用のファイル転送ソフトです。

コンピューター間の通信内容を暗号化して、安全にデータをやりとりできます。

 

以下のページを参考にして、WinSCPを用意します。

 

jsstudy.hatenablog.com

 

WinSCPの設定

前回の内容を参考にして、WinSCPSSHの接続情報を入力します。

 

VagrantUbuntuを起動して、コマンドプロンプトで「vagrant ssh-config」を入力したら、UbuntuSSH接続の設定情報が確認できます。

C:\Users\user\vagrant\ubuntu64_18>vagrant ssh-config

 

Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile C:/Users/user/vagrant/ubuntu64_18/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL

 

  • 転送プロトコル: SCP (←お好みで選択してOK)
  • ホスト名:    localhost
  • ポート番号:   2222
  • ユーザ名:    vagrant
  • パスワード:   なし(空欄のままでOK)

 

f:id:jsstudy:20181125135743p:plain

 

次に、画面右側にある「設定」ボタンをクリックします。

「高度なサイトの設定」という画面が表示されます。

 

f:id:jsstudy:20181125140117p:plain

 

画面左側のメニューで、「SSH」の「認証」をクリックします。

秘密鍵」欄の右側の[…]ボタンをクリックします。

 

「C:\Users\user\vagrant\ubuntu64_18\.vagrant\machines\default\virtualbox」フォルダを指定して開きます。

 

f:id:jsstudy:20181125140819p:plain

 

秘密鍵の選択」画面が表示されたら、右下のファイルの種類欄を「すべてのファイル(*.*)」に変更します。

「private_key」を選択して、[開く]ボタンをクリックします。

すると、以下のようなメッセージが出てきました。

 

f:id:jsstudy:20181125141117p:plain

 

秘密鍵ファイル

 'C:\~\private_key'はOpenSSH SSH-2形式の鍵を含んでいます。WinSCPPuTTY形式のみ対応しています。

 PuTTYgenを使用して秘密鍵ファイルを変換することが出来ます。」

と説明されていたので、「PuTTYgen」というツールを使って、ファイル形式を変換してみます。

 

(参考)WinSCPとPuTTYgenを一緒に使っている場合(フォルダに同梱?)は、そのまま変換できるようです。

qiita.com

 

ここでは別途、PuTTYgenを用意して、手動で変換してみます。(本日のハイライト)

 

PuTTYgenで鍵ファイルの形式を変換

(参考) 

mseeeen.msen.jp

 

以下のページからPuTTYgenをダウンロードします。

 

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

Windows10の64ビット版を使ってる場合は「64-bit: puttygen.exe」をクリックします。

f:id:jsstudy:20181125152323p:plain

 

ダウンロードしたputtygen.exeを起動します。

 

f:id:jsstudy:20181125153446p:plain

 

PuTTY Key Generator」という画面が表示されたら、「Load」ボタンをクリックします。

 

f:id:jsstudy:20181125153543p:plain

 

「Load private key」という画面が表示されたら、右下のファイルの種類を「All Files (*.*)」に変更します。

「C:/Users/user/vagrant/ubuntu64_18/.vagrant/machines/default/virtualbox/private_key」を選択して、[開く]ボタンをクリックします。

「PuTTYgen Notice」という画面が表示されて、鍵がインポートできたというメッセージが表示されたら、[OK]ボタンをクリックします。

 

f:id:jsstudy:20181125153816p:plain

 

PuTTY Key Generator」画面で[Save private key]ボタンをクリックします。

「PuTTYgen Warning」という画面が表示されて、パスワードが設定されてないけど大丈夫か?というメッセージが出てきたら、[はい]ボタンをクリックします。

(※Vagrantで生成されたデフォルトの秘密鍵は、パスワードが設定されていないのでOK)

 

f:id:jsstudy:20181125153937p:plain

 

ファイル形式を変換して、新たに保存する秘密鍵のファイルは、

  • ファイル名: putty_private_key
  • 拡張子: ppk

として保存します。(名前は適当でOK)

 

新たに生成された「putty_private_key.ppk」というファイルが、WinSCPで使えるPuTTY形式の秘密鍵ファイルになります。

これを使って、もう一度WinSCPの設定をやってみましょう。

 

WinSCPPuTTY形式の秘密鍵を設定

上記のWinSCPの設定作業で、秘密鍵を選択するところまで進めます。

SSHで使う秘密鍵として、今作った「putty_private_key.ppk」を選択します。

 

f:id:jsstudy:20181125155115p:plain

 

[開く]ボタンをクリックします。

WinSCPの「高度なサイトの設定」画面に戻ったら、[OK]ボタンをクリックします。

 

WinSCPの最初の画面(ログイン画面)に戻ったら、接続情報を保存する場合は[保存]ボタンをクリックします。

「セッションの保存名」画面で、保存名などを入力して[OK]ボタンをクリックします。

 

f:id:jsstudy:20181125155442p:plain

 

 

WinSCPでログイン

WinSCPの最初の画面に戻ったら、[ログイン]ボタンをクリックします。

WinSCPUbuntuにログインできたら、以下のような画面が出てきます。

 

f:id:jsstudy:20181125160005p:plain

 

これで、仮想マシン上のLinuxに、Windows側からファイルの転送ができるようになりました。

 

 

まとめ

  • SSH接続の秘密鍵のファイル形式は、PuTTYgenを使えば、PuTTY形式に変換できる。

 

これで仮想マシン上のLinuxに、Windows側からファイル転送ができるようになりました。