ユーザーアカウントとパスワードの代わりに公開鍵認証を使用するようにサーバー間 SFTP をセットアップするにはどうすればよいですか?
3 に答える
クライアントでは、その公開鍵を生成し、それをサーバーの承認済み鍵リストに追加する必要があります。
使用できるコマンドは次のとおりです。
クライアント マシン上
ssh-keygen -t dsa -f id_dsa
mv id_dsa* ~/.ssh/
scp ~/.ssh/id_dsa.pub USER_NAME@SERVER:~/.ssh/HOST_NAME.key
サーバー上
cat ~/.ssh/HOST_NAME.key >> ~/.ssh/authorized_keys2
覚えておいてください
chmod 700 .ssh
そしてまた
chmod 600 authorized_keys
これは、Windows ユーザー向けのソリューションです。
Windowsでも同様の問題が発生したため、http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlのPuttyを使用しました
公開鍵を生成する必要がある場合は、http: //the.earth.li/~sgtatham/putty/latest/x86/puttygen.exeを使用します。
次に、秘密鍵をセッションhttp://the.earth.li/~sgtatham/putty/latest/x86/pageant.exeにロードするために、FTP サーバーから Pageant をダウンロードするバッチを自動化する場合
次に、PSFTP を使用して接続し、アクションを実行します http://the.earth.li/~sgtatham/putty/latest/x86/psftp.exe
バッチのサンプルコードは次のとおりです。
!--Loading the key to session--!
@C:\pageant.exe "C:\privatekey.ppk"
!--Calling the PSFTP.exe with the uaser and sftp address + command list file--!
@C:\psftp user@your.server.address -b C:\sftp_cmd.txt
コマンド リスト ファイル (sftp_cmd.txt) は次のようになります。
mget "*.*" !--downloading every thing
!--more commands can follow here
close
これで、スケジュールされたタスクでそれをスケジュールするために必要なすべて * UNIX の cron ジョブのように単純だったらいいのに....