はじめに
先日使用していたPCがリース切れとなり、Windows10マシンへと入れ替えることになりました。
入社して4年が過ぎたんだなと感慨深い気持ちになりながら新しいPCの設定が完了した時、
ふとWindows10だとWSL(Windows Subsystem for Linux)が使えるなと思い導入を決意しました。
なぜWSLか
通常の業務ではオンプレかAWS上のLinuxマシンを使用していますが、たまに検証等でローカルマシンからコマンドたたいたりしたいことがあります。
コマンドプロンプトやPowerShellもありますが、Windowsは難しすぎてわからないため慣れ親しんだLinuxコマンドを使用したい気持ちになります。
旧マシンにはCygwinを入れてましたがびみょー。
準備
そもそもWSLをあまり理解していなかったんですが、Windowsの機能としてWSLを有効化してディストリビューションをインストールすると使えるようになるみたいです。
Microsoft Storeを見るとUbuntuがあったのでこれを使うこととします。
CentOSがよかったけどまあいいか。
初期設定
ネットに情報がたくさんあるのでここでは割愛。
プロキシの設定
社内からはプロキシを通さないと外部にアクセスできません。
パッケージインストールに必要なので設定します。
/etc/apt/apt.conf
Acquire::ftp::proxy "http://プロキシユーザ:プロキシパスワード@プロキシサーバ:ポート番号";
Acquire::http::proxy "http://プロキシユーザ:プロキシパスワード@プロキシサーバ:ポート番号";
Acquire::https::proxy "http://プロキシユーザ:プロキシパスワード@プロキシサーバ:ポート番号";
パッケージインデックスの更新をインストール前に実施する必要あり。
実施しないと404 Not Found [IP: *** ***]
というエラーが出ました。
$ sudo apt-get update
鍵の設定
外部サーバへアクセスするための鍵を設定します。
パスワード認証してる人はいないですよね...?
SSHクライアントインストール
$ sudo apt-get install openssh-client
公開鍵と秘密鍵の生成
$ ssh-keygen -t rsa
アクセスしたいサーバに公開鍵を配置
$ scp -P 22 ~/.ssh/id_rsa.pub <ユーザ名>@<IPアドレス>:~/.ssh/authorized_keys
これで次回アクセス時にはパスワードなしで入れるはずです。
失敗する場合は秘密鍵のパーミッションに問題があるかもしれません。
ssh-agentの転送機能
ここまでくるとssh-agentを使いたくなります。
そうすることでリモート先でも鍵認証が使えます。
ssh-agentの起動
$ eval `ssh-agent`
秘密鍵をssh-agentに追加
$ ssh-add
これだとログアウトしたら無効になってしまうため、ログイン時に実行されるようにします。
~/.bashrc
~追加~
eval `ssh-agent`
ssh-add
所感
普段使っているターミナルに比べると少々頼りなさがありますが、思ったより使える印象です。
ほぼ鍵の話になってしまいました。