[小ネタ]Windows環境のcredentialファイルとconfigファイルをWSL環境と共有してみた

Windows環境とWSL環境でAWSのアカウント情報(credentialファイルとconfigファイル)を共有する方法をご紹介します。
2021.08.10

はじめに

データアナリティクス事業本部の藤川です。
[小ネタ]WindowsとWSL(Windows Subsystem for Linux)間でパス文字列を相互変換してみたの記事でご紹介した方法で、Windows環境とWSL環境でAWSのアカウント情報(credentialファイルとconfigファイル)を共有できることに気づきました。

これができると、Windows環境で、credentialファイルとconfigファイルを一元管理できるため、メンテナンスが楽になります。

やってみた

AWS CLIコマンドの設定ファイル

AWS CLIコマンドの設定ファイルのパスを取得してみました。このパスにシンボリックリンクを張ってみましょう。 WSL環境が複数ある場合でも、Windows環境のcredentialファイルとconfigファイルを編集すれば、すぐに反映されるので非常に便利です。

  1. Windows環境にある.awsフォルダのパス(WSLのパス文字列)を取得します。
    C:\>wsl wslpath '%USERPROFILE%\.aws'
    /mnt/c/Users/<Windowsユーザ名>/.aws
  2. Windows環境にある.awsフォルダを、WSL環境の.awsディレクトリとしてアクセスできるよう、シンボリックリンクを張ります。
    ln -s /mnt/c/Users/<Windowsユーザ名>/.aws ~/.aws
  3. WSL環境で.awsディレクトリにアクセスできるか確認します。
    ls -la ~/.aws

SSHコマンドの設定ファイル

  1. Windows環境にある.sshフォルダのパス(WSLのパス文字列)を取得します。
    C:\>wsl wslpath '%USERPROFILE%\.ssh'
    /mnt/c/Users/<Windowsユーザ名>/.ssh
  2. Windows環境にある.sshフォルダを、WSL環境の.sshディレクトリとしてアクセスできるよう、シンボリックリンクを張ります。
    ln -s /mnt/c/Users/<Windowsユーザ名>/.ssh ~/.ssh
  3. WSL環境で.sshディレクトリにアクセスできるか確認します。
    ls -la ~/.ssh

さいごに

WSL2の登場で、開発環境としてのWindowsが見直されつつあります。 Windows 11の登場で、さらに使いやすく進化することを期待します!

合わせて読みたい