* 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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS