sshdのconfigがAllowTCPForwardがoffの環境でもrsyncできるようにする

前回書いたRemoteCommandの設定だとこのようなエラーが出て

Cannot execute command-line and remote command.

そのままではrsyncができないことがわかりました。

対処方法はこれまた二つあります。

対処1

RemoteCommandで何とか動かそうとする場合 ssh -o RemoteCommand=none オプションをつけることで回避できる。
コマンドラインで下記のように指定する

rsync -e 'ssh -o RemoteCommand=none' src host_sv:dest

対処2

.ssh/configのProxyCommandをncで渡す。

Host step_sv
  User loginuser
  Hostname step_sv.example.com

Host target_sv
#  ProxyCommand -W %h:%p step_sv
  ProxyCommand ssh step_sv nc %h %p

参考

How to bypass RemoteCommand option in ssh_config
https://unix.stackexchange.com/questions/628607/how-to-bypass-remotecommand-option-in-ssh-config

踏み台サーバを経由して楽してsshしたい ProxyCommandとnetcatを使う
http://blog.livedoor.jp/ashibuya0128/archives/52073378.html

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です