このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

chrootを指定したユーザでSFTP接続をしようとするとユーザ名またはパスワードが違ってると警告されログインできない。 このメッセージに返信する
日時: 2014/04/23(Wed) 23:25
名前: Phantom
URL:
お世話になります。

当方、CentOS 6.3にOpenSSH_6.6p1, OpenSSL 1.0.1e-fipsという環境です。
この度 /etc/ssh/sshd_config をテキストエディタで開き、

# Subsystem sftp /usr/libexec/openssh/sftp-server (コメントアウト)
Subsystem sftp internal-sftp (追加)
Match user sftpuser (追加)
ChrootDirectory /home/sftpuser (追加)
PasswordAuthentication yes (追加)
X11Forwarding no (追加)
AllowTCPForwarding no (追加)
ForceCommand internal-sftp (追加)

という編集を行いました。
その後、実際にSFTPクライアントアプリでアクセスを試みるとchrootを指定した "sftpuser" の時だけユーザ名かパスワードが誤ってるというメッセージを返されログインできません。
chrootを指定してない他のアカウントではログイン可能です。
ネットで調べてみるとルートディレクトリに指定してるディレクトリのオーナーがrootでなければならないという記述を読み、その設定でも試してみましたが現象は改善されませんでした。
何が原因か心当たりがあればアドバイス頂けないでしょうか?
どうぞ宜しくお願い致します。

Phantom
記事編集 編集
Re: chrootを指定したユーザでSFTP接続をしようとするとユーザ名またはパスワードが違ってると警告されログインできない。 このメッセージに返信する
日時: 2014/04/24(Thu) 06:36
名前: stranger
URL: http://ja.528p.com/
/home (root root 755)
/home/sftpuser (root root 755) ← 700だとアクセス不可になると思う
になっていますか
このままだとかきこみできないから
/home/sftpuser/data (sftpuser sftpuser 711)
のディレクトリなどをつくっておきます
記事編集 編集
Re: chrootを指定したユーザでSFTP接続をしようとするとユーザ名またはパスワードが違ってると警告されログインできない。 このメッセージに返信する
日時: 2014/04/25(Fri) 06:38
名前: Phantom
URL:
stranger様

ご回答ありがとうございました。
ご指示頂きました通りのパーミッションにしたら、おかげさまでログインできました。
その後の実験で下記のディレクトリのパーミッションを775に変更してみました。

/home/sftpuser

結果、また繋がらなくなったのですが、755でなければならない理由が理解できておりません。
775で繋がらなくなるのはなぜなのでしょうか?
またご説明頂ければ有り難く存じます。
宜しくお願い致します。

Phantom
記事編集 編集
Re: chrootを指定したユーザでSFTP接続をしようとするとユーザ名またはパスワードが違ってると警告されログインできない。 このメッセージに返信する
日時: 2014/04/25(Fri) 11:59
名前: stranger
URL: http://ja.528p.com/
openssh chrootの仕様でしょ
root グループにはroot以外も含めることが可能だからでは?

解決済みの後に追記
opensshソースに含まれるsession.cの
safely_chroot(const char *path, uid_t uid)
{
*省略
if (st.st_uid != 0 || (st.st_mode & 022) != 0)
fatal("bad ownership or modes for chroot "
"directory %s\"%s\"",
cp == NULL ? "" : "component ", component);
*省略
}
でチェックしてるのではないか
記事編集 編集
Re: chrootを指定したユーザでSFTP接続をしようとするとユーザ名またはパスワードが違ってると警告されログインできない。 このメッセージに返信する
日時: 2014/04/25(Fri) 12:11
名前: Phantom
URL:
stranger 様

いつもお世話になっております。
ご回答ありがとうございました。
理由を付けるとすればそういうことなのでしょうかね。
ともかくそういう仕様とあらばそれに従って設定するしかないですね。
それにしてもログインできないというトラブルが無事回避できたことは何よりです。
この度はありがとうございました。

Phantom
記事編集 編集
Re: chrootを指定したユーザでSFTP接続をしようとするとユーザ名またはパスワードが違ってると警告されログインできない。 このメッセージに返信する
日時: 2014/04/25(Fri) 23:18
名前: Phantom
URL:
stranger 様

解決済フラグを立てた後にも関わらず、新たな情報をご提供頂きありがとうございました。
更にご質問したくなったので一旦解決済フラグを落としました。

opensshソースに含まれるsession.cのペーストして頂いた辺りの記述を書き換えればパーミッション775でもログインできるようになるということでしょうか?
しかしソースということは書き換えただけではプログラムに反映されないのですよね?
パーミッション775でもログインできるようするとすれば具体的にどのような書き換え、オペレーションが必要でしょうか?
何度も伺って申し訳ございませんがご指導宜しくお願い致します。

Phantom
記事編集 編集
Re: chrootを指定したユーザでSFTP接続をしようとするとユーザ名またはパスワードが違ってると警告されログインできない。 このメッセージに返信する
日時: 2014/04/26(Sat) 05:02
名前: stranger
URL: http://ja.528p.com/
セキュリティの安全度を下げてまで何をされたいのか解りません
自分でソースを展開していろいろ調べてください
記事編集 編集
Re: chrootを指定したユーザでSFTP接続をしようとするとユーザ名またはパスワードが違ってると警告されログインできない。 このメッセージに返信する
日時: 2014/04/26(Sat) 12:46
名前: Phantom
URL:
stranger 様

ご回答ありがとうございます。
groupがrootでなくても

/home/sftpuser (root sftpgroup 755)

でアクセスできることは確認済みでしたのでchrootのディレクトリのパーミッションが775であれば、その下に書き込み用のディレクトリをさらに準備しなくても済むと思い、改変できたらと考えました。
しかし仰るようにセキュリティの安全度が犠牲になり、かつソースの解読などの難易度を考えたらこのままで充分に思います。

この度はお世話になりありがとうございました。

Phantom
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -