WindowsのLinux環境でWSLではなく、Git Bashが快適だった話

背景

よくプログラミングやシステム開発するなら、Macのほうがいいよ!と教えて下さる方々がいらっしゃります。
「なんでだろう???」と疑問を持ちながらWindows環境でモクモク作業を進めていたのですが最近納得しました。

Linuxを触ったり、SSHでサーバー認証したりする際は正直悩ましくて仕方がない。ただし、素直にMacにせずに、Windowsを使いたい私としてはWindows環境で気軽にLinuxを触りたいのでした。

そこで本noteでは私の備忘録兼、Windows環境でLinux環境を構築しSSH認証まで簡単に完結する手順を把握できるようにまとめてみます。

なんでシステム開発はMac?がいいの問題

多くの意見が分かれると思いますが、私の理解としては次のとおりです。
1.Macの場合、そもそもOSがLinuxベース(正確にはUnix)で動く
2.Windowsの場合は、もちろんWindows OSで動く

※より詳細は下記記事よりご参照ください。

多くの開発をする場合、Linuxコマンドが数多く紹介されているので、Windows独自のコマンドを覚えるよりLinuxコマンドで(ほぼほぼ)動くMacで操作したほうが楽だよ。という理解です。

ではWindowsでLinuxは触れないのか?

そんなことはありません。WindowsでもWindows Subsystem for Linux(以下、WSL)いうツールが利用できます。Power shellから簡単にインストールして、実行できます。(ただし後述する理由で躓く可能性は大です)

その後、WSLに関しての紹介は数多くありますので、割愛しますが、Linuxコマンドをもとにした操作はできるので、正直あまり困らないと思います。

例えば、Docker Desktopをインストールして、コンテナ作成などは躓かず実行できると思います。素敵です!WSL!!

WSLの課題とその解決策

ただ一方でWSLの課題(というよりWindows側の問題)でSSH認証をする際に躓く可能性があります。それは、、、EC2等とSSH認証の際に発生します。

WSL上で通常ファイルを操作する際は /mnt/c/..というマウントされたファイル上で、操作をします。Desktop上のファイルもmnt上にあります。ただし、mntされたファイルの権限は変更できません。その為、気軽にchmodコマンドを利用して「あれ。。。認証できない…」となるケースは数多いと思います。

その場合はmntファイルではなく~/.sshファイルにpem を移動して権限変更すれば問題解決できます。ただし、ちょっと大変…

Windows環境でLinuxコマンドでさくっとSSH認証する方法

その答えはGit bashを利用することです。シンプル…私の場合、コードエディターはVS Codeを利用しているので、ターミナルをGit bashに変更すると、解決できました。これはマウントされたファイルではなく、Git bashの場合、直で操作する為、操作権限を付与できるってことですね。

もちろん、Git 連携は余裕ですし、Docker のbuild もSSH認証もさくっと済ませてくれます。Windows環境でSSH認証する場合、Git bashを推奨する記事が見つからなかったので本記事を投稿しました。ご参考までに!

この記事が気に入ったらサポートをしてみませんか?