仕事でSFTPを使うことになったので、家のPC2台使って遊んでた。
パスワード入力してログインするまではスルッと出来た。
そのまま秘密鍵・公開鍵作って、渡して終わり~っておもってたが、そこで行き詰る。
権限が悪いのか・ファイル名が悪いのか・configとかの設定が悪いのか。
上手くいくと思ったら止まる、これまさに開発あるある。
で、最終的な勘違いポイントは、鍵を作るのはサーバ側だと思ってた点でした。
ssh-keygenコマンドをクライアント側で実行し、作成したKeyをサーバに渡してあげると、無事にパスワードなしで接続することが出来ました!
勘違いを気づかせてもらったページ
sftpのパスワードなしでログイン -sftpのパスワードなしで自動化をした- UNIX・Linux | 教えて!goo
(この質問者さんもまさに自分と同じ勘違いをしていらしたw)
全体的に参考にさせてもらったページ
クライアントとサーバーで公開鍵認証を使用した SFTP のセットアップと動作確認を行う - SFTP - Tips - ソーサリーフォース (sorceryforce.net)
最後にpowerShellで以下のようなSFTPコマンド実行したところ無事にputできた。
echo "put C:\Users\user\.ssh\test.txt file.txt" | sftp username@server
なんとかお仕事でも無事に進められそうです。