SSHを使用した証明書転送によるトンネル経由のファイルのコピー

SSHを使用した証明書転送によるトンネル経由のファイルのコピー

mymachineパブリックIPを持つサーバーを介してプライベートNATネットワーク上のサーバーからファイルをコピーする方法を見つける必要があります。 NATの背後にあるシステムには証明書のみがあるため、証明書を介して渡す必要があります。priv-serverpub-serverpriv-serveruser@mymachinemymachinepub-serverpriv-server

したがって、単一のコマンドでSSHを介してログインするには、次のようにします。

$ ssh -tA user@pub-server 'ssh user@priv-server'

——非常にうまく動作します。証明書はviaから渡され、mymachineすべてがうまく設定されました。priv-serverpub-server

今私は通常、scpすべてのファイル転送要求にこれを使用しますが、すべてのトンネル情報をscp

ベストアンサー1

cat代わりに、ファイルをローカルにコピーしてリモートcat > filenameコマンドにパイピングする低レベルの形式を使用してくださいpriv-server

$ cat file1.txt | ssh -A user@pub-server 'ssh user@priv-server "cat > file1.txt"'

または圧縮:

$ gzip -c file1.txt | ssh -A user@pub-server 'ssh user@priv-server "gunzip -c > file1.txt"'

抜粋man ssh:

-A は認証プロキシ接続転送をイネーブルにします。これは設定ファイルでホストごとに指定することもできます。

-t は擬似 tty 割り当てを強制します。これは、リモートコンピュータ上で任意の画面ベースのプログラムを実行するために使用することができ、これは、例えばメニューサービスを実装する場合に有用である。複数の -t オプションは、ssh にローカル tty がない場合でも tty 割り当てを強制します。


最初は答えを知りませんでしたが、よく眠り、この質問を書いた後に最初に試したコマンドに問題があることを発見して修正しました。しかし、これは役に立つと思い、答えを共有することにしました。

おすすめ記事