Cygwin環境で外付けHDDに外部からアクセスする方法・SSHで異なるログインごとにホームディレクトリを変更する方法
November 15 [Tue], 2011, 11:58
設定環境
・Cygwin
・Cドライブ、Kドライブがマウント済み
・ApacheによるWebサーバは立ち上げ済み
やりたいこと
・ネットワークからKドライブにアクセスし、
既存のユーザhogehogerootに加えて新しいユーザhogehogeを作成し、
hogehogeユーザからSSH経由でアクセスするとKドライブにアクセスできるようにし、
アップロードされたファイルは
http://hogehoge.jp/hogehoge/
でアクセスできるようにしたい
という贅沢なサービス
1.Apacheの設定
/etc/apache/httpd.conf
を編集して、
Alias /hogehoge /cygdrive/k
AllowOverride All
を追記して、Apacheを再起動した。
これで
http://hogehoge.jp/hogehoge/
にアクセスするだけで
/cygdrive/k
にアクセスすることができるようになる。
2.SSHで"hogehoge"アカウントでログインした時、/cygdrive/kに直接ログインする
/etc/passwd
のファイルを編集する。
username: .. : .. : .. : .. : /cygdrive/c/home/username:/bin/bash
この部分で、
/cygdrive/c/home/username
↓
/cygdrive/k
と編集し、下記3.に沿ってSSHの設定を反映させる
3.SSH経由でアップロードする
過去に自分で上げた、
http://yaplog.jp/akihi-rolab/archive/15
を参考にした。
idがhogehogeroot以外はアクセスを受け付けてくれない設定になっており、
どんな方法をとっても
"/bin/bash: permission denied"
となってしまうので、一度
$cygrunsrv -R sshd
で一度削除し、
$ssh-host-config -y
で再インストールしたら解決した。
そこで、idはhogehogerootとhogehogeだけアクセスできるようにすればよいので、
/etc/sshd_config
を編集して、
PermitRootLogin no
AllowUsers hogehogeroot hogehoge
を追加する。
そのあと、
cygrunsrv -S sshd
を実行して終了。
結論
sshd_configの設定反映は
0.sshd_config以外の設定ファイル編集(ex. passwdなど、ある場合は)
1.cygrunsrv -R sshd
2.$ssh-host-config -y
3.sshd_configの編集
4.cygrunsrv -S sshd
の順番で実施する。
3.以降は設定はいくらやっても反映されない。
・Cygwin
・Cドライブ、Kドライブがマウント済み
・ApacheによるWebサーバは立ち上げ済み
やりたいこと
・ネットワークからKドライブにアクセスし、
既存のユーザhogehogerootに加えて新しいユーザhogehogeを作成し、
hogehogeユーザからSSH経由でアクセスするとKドライブにアクセスできるようにし、
アップロードされたファイルは
http://hogehoge.jp/hogehoge/
でアクセスできるようにしたい
という贅沢なサービス
1.Apacheの設定
/etc/apache/httpd.conf
を編集して、
Alias /hogehoge /cygdrive/k
AllowOverride All
を追記して、Apacheを再起動した。
これで
http://hogehoge.jp/hogehoge/
にアクセスするだけで
/cygdrive/k
にアクセスすることができるようになる。
2.SSHで"hogehoge"アカウントでログインした時、/cygdrive/kに直接ログインする
/etc/passwd
のファイルを編集する。
username: .. : .. : .. : .. : /cygdrive/c/home/username:/bin/bash
この部分で、
/cygdrive/c/home/username
↓
/cygdrive/k
と編集し、下記3.に沿ってSSHの設定を反映させる
3.SSH経由でアップロードする
過去に自分で上げた、
http://yaplog.jp/akihi-rolab/archive/15
を参考にした。
idがhogehogeroot以外はアクセスを受け付けてくれない設定になっており、
どんな方法をとっても
"/bin/bash: permission denied"
となってしまうので、一度
$cygrunsrv -R sshd
で一度削除し、
$ssh-host-config -y
で再インストールしたら解決した。
そこで、idはhogehogerootとhogehogeだけアクセスできるようにすればよいので、
/etc/sshd_config
を編集して、
PermitRootLogin no
AllowUsers hogehogeroot hogehoge
を追加する。
そのあと、
cygrunsrv -S sshd
を実行して終了。
結論
sshd_configの設定反映は
0.sshd_config以外の設定ファイル編集(ex. passwdなど、ある場合は)
1.cygrunsrv -R sshd
2.$ssh-host-config -y
3.sshd_configの編集
4.cygrunsrv -S sshd
の順番で実施する。
3.以降は設定はいくらやっても反映されない。
< PR >新築マンション

