* MSYS2のOpenSSHでのホームディレクトリの扱い [#becd2b7e]
** 問題 [#u7c9880d]
- OpenSSHは環境変数HOMEを参照しない。
- Windows上またはMSYS2上の環境変数HOMEを特定のパス(例えばC:\myhome)に指定していても、sshコマンド実行時にC:\myhome\.ssh以下ではなく、/home/USERNAME/.sshを参照する。
- なお、OpenSSH以外のほとんどのアプリは環境変数HOMEを参照する。問題になるのはOpenSSHだけ。
** 解決方法 [#f53da1dc]
以下のいずれか。
*** Windows上でシムリンクを張る [#p098c61a]
CMD> cd C:\msys64
CMD> mkdir home
CMD> cd home
CMD> mklink /D USERNAME C:\myhome
*** /etc/fstabでホームディレクトリを指定してマウントする [#yac85249]
C:/myhome /home/USERNAME
*** nsswitch.confでホームディレクトリを指定する [#ga1ca81f]
- Cygwin(およびその派生であるMSYS2)では/etc/nsswitch.confで以下のように指定すると、ホームディレクトリがWindowsのホームディレクトリ(C:\Users\USERNAMEなど)と同じになる。
- Cygwin(およびその派生であるMSYS2)では/etc/nsswitch.confで以下のように指定すると、ホームディレクトリがWindowsのユーザプロファイルフォルダー(C:\Users\USERNAMEのような%USERPROFILE%)と同じになる。
- または%Hでユーザプロファイルフォルダーを指定できるので、/%H/Dropbox/msys2 のようにユーザ名をハードコーディングせずに済む。
- 多分、この方法が一番いい。
- Cygwinのnsswitch.conf https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-passwdinfo
db_home: windows cygwin desc
db_home: %HOME%
db_home: /%H/Dropbox/msys2
db_home: C:\myhome
** 参考 [#m79b4ca5]
- http://stackoverflow.com/questions/1494658/how-can-i-change-my-cygwin-home-folder-after-installation
- http://stackoverflow.com/questions/28573763/i-am-unable-to-find-the-etc-passwd-file-in-cygwin
- https://sourceforge.net/p/msys2/tickets/111/?page=2
- https://en.wikibooks.org/wiki/OpenSSH/Client_Configuration_Files#.7E.2F.ssh.2Fconfig