完成使用后如何终止端口转发

时间:2014-10-22 10:21:17

标签: linux bash ssh unison

为了同步我的家庭和工作文件系统,我需要通过中间计算机并使用端口转发。我们打电话给家用电脑A,中间电脑B和工作电脑C.从命令行我这样做

ssh -N -f -L 2025:C:22 me_B@B && unison foo ssh://me_C@localhost:2025/foo
  • 我想将这个单行内容放入bash脚本中。如何让它在最后优雅地退出,而不是让任何端口转发仍然设置?

1 个答案:

答案 0 :(得分:1)

ssh -N -f -L 2025:C:22 me_B@B &
pid=$! # ssh PID
rc=$? # ssh return code

# set up to kill ssh when this script finishes
function finish {
  kill $pid
}
trap finish EXIT

[ $rc -eq 0 ] && unison foo ssh://me_C@localhost:2025/foo