私はssh
CyberArkを介してLinuxホストにログインすることに慣れています。これがユーザー名/ホスト名の組み合わせが次の理由です。DB6164@DB6164CP#[email protected]#[email protected]
次のssh
コマンドが有効です。
$ /usr/bin/ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no DB6164@DB6164CP#[email protected]#[email protected]
ただし、次のscp
コマンドは失敗します。
$ /usr/bin/scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no DB6164@DB6164CP#[email protected]#[email protected]:/tmp/file.txt file.txt
DB6164@DB6164CP#[email protected]#22: invalid user name
ホスト名から「#」を削除すると文句は停止しますが、scp
CyberArkは失敗します。
scp
また、URI形式を試してみましたscp://[user@]host[:port][/path]
。
$ /usr/bin/scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no scp://DB6164@DB6164CP#[email protected]#[email protected]/tmp/file.txt file.txt
scp://DB6164@DB6164CP#[email protected]#[email protected]/tmp/file.txt file.txt: invalid uri
しかし、これも失敗した。
なぜscp
失敗し、いつssh
成功し、上記のscp
コマンドを機能させるにはどうすればよいですか?
修正する:複数のホスト(CyberArkを介して接続されている)に対して上記のタスクを実行する必要があります。
ベストアンサー1
scp -o User='foo@bar@baz#quux' host:/rpath lpath
scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
-o User='DB6164@DB6164CP#[email protected]#22' \
PsmpDblanVip.example.net:/tmp/file.txt file.txt