WinSCPでsudo設定

VPSの設定セキュリティ上rootでSSHできないようにしてるんだけど、設定をいじるときにrootじゃないと見れない設定ファイルがあったりして、面倒だったのでWinSCPをsudoで入れるように設定した。
ネットに幾つか情報落ちていたけど、どれも不足があってそのページの説明だけじゃうまく行かなかったので結構手間取った。
情報の寄せ集めだけど、まとめてみた(個々の設定に関しては参考ページほぼそのままです)

まずはsudoの設定
自分はメインで使う管理用ユーザーだけsudoを許可していたけど、普通の設定だけじゃWinSCPに入れなかったので少し変更した。
root顕現になってvisudo実行
sudoを許可するユーザーを設定(ここで設定するユーザーを仮にuserとする)

user ALL = (ALL) NOPASSWD: ALL

と最後らへん(ユーザー設定について記述しているあたり)
自分はもともと

user ALL = (ALL) ALL

と設定していたので、パスワード要求の部分だけ追記した。
これは、普通だとsudoした時パスワードを要求されるがNOPASSWD指定で無条件でsudoされるようになる。
セキュリティ的に低くなるけど、WinSCPで使う場合パスワードをうまく返せないので仕方ない…
なるべくWinSCPユーザーだけに設定しておいたほうがいいだろう。
もう一つ設定項目

Defaults requiretty

という設定されているところがあるのでその下に

Defaults:user !requiretty

と追記
よくわからないが、これが設定されているとSSHやSCPなどでsudoできなくなるらしいので管理ユーザーだけこの設定を除外させた。

これでサーバ側はWinSCPからのsudoを受け付けるようになったので、クライアント側の設定をする。

WinSCPの設定は接続先の設定のところに左側の項目で環境-SFTPを開く
プロトコルオプションにSFTPサーバと言う項目があるので自分の場合は「sudo /usr/libexec/openssh/sftp-server」と設定
SFTPサーバの場所は自分のサーバの/etc/ssh/sshd-configとかに書いてあるらしいのでそこを参照
winscp

これでsudoでログインできるようになっているので入ってみて、rootじゃないと見れないファイルを開いてみて見れたら成功
設定がうまうできていないとSFTPサーバが起動されていないって感じのエラーが出てくると思う。

これで便利に使えるようになると思うけど、sudoがパスワード無しで使えたり、外から使えたりしてセキュリティ的にはレベルを落としているのでサーバ自体のアクセスは公開鍵認証を使ったりして強度を上げるように!
以上、半分自分への備忘録でしたー

参考

コメント

タイトルとURLをコピーしました