1

このような方法でサーバーにアクセスする必要があります: localhost -> remote1 -> remote2 (私のサーバー)

[xxxx@localhost] $ ssh yyyy@remote1
[yyyy@remote1]   $ ssh zzzz@remote2
[zzzz@remote2]   $ echo "now I logined into my server..."

scpでファイルを転送する方法を知っています。ただし、remote1 に対する読み取り権限も書き込み権限もありません。ファイルを remote2 に転送するにはどうすればよいですか?

4

2 に答える 2

2

別の方法として、プロキシ コマンドを使用することもできます。

scp -o ProxyCommand='ssh yyy@remote1 netcat %h %p 2> /dev/null' zzz@remote2:fromfile tofile

インストールされremote1ている場合。netcatその他の実行可能なオプションはncorですsocat(後者の構文は異なります)。

于 2013-07-18T09:11:47.457 に答える
1

これを試して、

ssh -L localhost:8022:remote2:22 remote1

localhostこれで、 port8022を使用して 経由22で接続できます。このセッション セッションは、転送する必要があるときはいつでもアクティブにする必要があります。使用するremote2remote1

scp -P 8022 /path/locale/file 127.0.0.1:/path/on/remote2

これは一般に と呼ばれSSH Tunnelingます。あなたはそれについて多くを検索して知ることができます。

于 2013-07-18T08:14:59.560 に答える