sh 使用ProxyCommand的scp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 使用ProxyCommand的scp相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env bash

for var in $@
do
	ret=$(echo $var | grep -P "(\w+@)?\d+\.\d+\.\d+\.\d+")
	if [ $? -eq 0 ]; then
		ipaddr=$var
		break
	fi
done

ipaddr=$(echo $ipaddr | awk -F@ '{ if (NF == 2) print $2; else print $1; }')
ipaddr=$(echo $ipaddr | awk -F: '{ if (NF == 2) print $1; else print "ERROR: path is needed!"; exit(1); }')

if [[ $ipaddr == 10* ]]; then
	/usr/bin/scp -o ProxyCommand="/usr/bin/ssh $SSHD_PROXY -p 2222 -W %h:22" $@
else
	/usr/bin/scp $@
fi

以上是关于sh 使用ProxyCommand的scp的主要内容,如果未能解决你的问题,请参考以下文章

sh 使用SCP通过SSH复制文件

sh SCP使用

sh 如何使用SCP

sh 如何使用scp&rsync

SSH ProxyCommand 的问题

相当于 OpenSSH ProxyCommand 的 PuTTY 配置