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を推奨する記事が見つからなかったので本記事を投稿しました。ご参考までに!
この記事が気に入ったらサポートをしてみませんか?