Fedora 14 で SSH ポートフォワードを使おうとすると,
channel 2: open failed: administratively prohibited: open failed
と出力される.
この原因はいろいろ考えられるが, いくつかをあげる.
- sshd の設定で禁止されている.
- SE Linux により禁止されている.
まずは
/etc/ssh/sshd_config
に
AllowTcpForwarding yes
がかかれているかを確認.
私の環境では
AllowTcpForwarding
がコメントアウトされていたが,
デフォルトは
yes
なので問題ない.
/var/log/message
をみると,
setroubleshoot: SELinux is preventing /usr/sbin/sshd "name_connect" access on <Unknown>. For complete SELinux messages. run sealert -l 1d8e1b1c-526e-4214-97be-98b8d48b5950
と出力されていた.
メッセージのとおり,
sealert -l 1d8e1b1c-526e-4214-97be-98b8d48b5950
を実行すると,
アクセスを許可:
Confined processes can be configured to run requiring different access, SELinux
provides booleans to allow you to turn on/off access as needed. The boolean
sshd_forward_ports is set incorrectly.
Boolean Description:
allow sshd to forward port connections
Fix コマンド:
# setsebool -P sshd_forward_ports 1
と許可する方法を教えてもらえたので,
$ sudo setsebool -P sshd_forward_ports 1
とコマンドをいれた.
setsebool
が終了するまで数秒かかったが,
ポートフォワードを使用できるようになった.
追記: X11 forwarding のみ失敗する場合は,
xauth
がインストールされていないことが原因かもしれない.
No xauth Program; Cannot Forward With Spoofing Error and Solution
0 件のコメント:
コメントを投稿