私はscpできません。他のサーバーはsftp接続しか受け付けません。
現在、私はしようとしています
sftp [email protected]:/files> put -r ~/
-i keyname
は機能せず、illegal option -- i
で解決されます。
従来の方法でPUBLICキーをサーバーにコピーします。
サーバー上:
.ssh
を作成します。[[! -d "$ {HOME} /。ssh"]] && mkdir -p "$ {HOME} /。ssh"
cat /path/to/public_key.pub >> "$ {HOME} /。ssh/authorized_keys"
chmod go-rwx "$ {HOME}" "$ {HOME} /。ssh/authorized_keys"
その後、PRIVATEキーを使用してクライアントからログインできるようになります。転送を自動化するには、実行するコマンドのリストを含む単なるテキストファイルであるバッチファイルを使用します。
echo "put filename.foo /safe/path/filename.foo" >> /tmp/batchfile.txt sftp -b /tmp/batchfile.txt -oIdentityFile =/path/to/private_key user @ Host
または、〜/ .ssh/configファイルをssh_config形式で作成して、将来これを入力することもできます。
sftp -b /tmp/batchfile.txt Host
~/.ssh/config
のサンプルコンテンツ
ホストthe_hostname ユーザーuser_name IdentityFile /path/to/private_key
Ec2でsftpをセットアップする場合は、 この記事 が役立つ可能性があります
私は最近この問題に遭遇し、私のMacbookのデフォルトのターミナル設定で私のために働いたのは次のとおりです
sftp -i ./privateFilePath.key [email protected]
NPROTECTED PRIVATE KEY FILE!メッセージで昇格される可能性があることに注意してください。この場合、このコマンドを実行して、他のユーザーが秘密鍵にアクセスできないようにする必要があります。
chmod 600 privateFilePath.key
Sudoをコマンドの前に置く必要がある場合もあります。これは、adminで保護されたディレクトリで作業している場合のみです。
参考になれば幸いです:)