質問: scpはコピー元でもコピー先でも,ホスト名を付けるとそれが自機であってもSSH接続した上でscp転送しようとします。 結果として、自機の自ユーザにつなぐという無意味な接続であっても authorized_keys とかを未設定なせいで接続失敗となったりします。 ローカルコピーに勝手にならないのはもちろん当然だと思います。.ssh/configの設定次第で権限が変化する場合がありますから。 ただ、シェルスクリプトに汎用性を持たせるために「コピー先ディレクトリのあるホスト上で作業しているのなら単なるローカルコピーをするし、そうでないなら当該ホストへSSH接続上でコピー」というのが書きたいシーンもあります。 これがscpコマンドのオプションだけで記述できないものでしょうか。 --- 質問意図を追記します。 scpの使い方の質問という形を取っていましたが、目的はscpを使うことではなく、自作のコマンドでリモートホストも出力先に指定できるという仕様を盛り込もうと思ったとき、引数仕様をできるだけ既存のコマンド、ここではscpに寄せようと思い、そこでドキュメントされていない仕様も含めてscpの挙動を調べたかったというものです。
回答: オプションについては manページ — SCP を読んでみてください。 CP や SCP を呼び出すシェルスクリプトで簡単にラップできますので挑戦してみてください。 追記 ドキュメントにもないオプションを調べるのなら、ソースをご覧になるのが手っ取り早いかと。ただ、こういうオプションを隠す意味がありますでしょうか? パッケージ: openssh-client (1:6.6p1-4~bpo70+1) > > 本パッケージが提供するのは、ssh と scp, sftp クライアント、公開鍵認証を より簡便にするための ssh-agent および ssh-add プログラム、ssh-keygen と ssh-keyscan, ssh-copy, ssh-argv0 ユーティリティです。 > > >