パスワードでLinuxでファイルを転送するSftpスクリプト
SFTPは、Linuxでファイルを安全に転送することができます。 しかし、SFTPを使用してファイルを自動的に転送する必要がある場合があります。 このような場合、パスワードプロンプトが障害を引き起こす可能性があります。 この記事では、Linuxでファイルを転送するためのSFTPスクリプトを作成する方法を説明します。 Keychain、sshpassなどのサードパーティのライブラリを使用するか、SFTPパスワードを自動的に提供することを期待して、あなたの人生を簡素化する必要があります。 私たちの記事では、SSHpassを使用します。 また、ssh-copyを使用して、SSHpassを使用せずにプロンプトレスパスワード認証を設定する方法についても説明します。
SSHpassとは何ですか
SSHPassは、あなたが中断することなく、認証を必要とするタスクを自動化できるように、コマンドプロンプトやスクリプトにパスワードを提 これは、非対話型パスワード認証を容易にします。
Linuxでパスワードを使用してファイルを転送するSftpスクリプト
パスワードを使用してLinuxでファイルを転送する手順は次のとおりです。
Set SSH password
ターミナルを開き、次のコマンドを実行してSSHパスワードを設定します。 Your-password-hereをSSHパスワードに置き換えます。
export SSHPASS=your-password-here
Linuxでファイルを転送
Linuxでファイルを転送するには、次のコマンドを実行します。 UserをSFTPユーザー名に、remote-hostをSFTPホストアドレスに、/dataをリモートフォルダの場所に、そしてあなたの-fileに置き換えます。転送するファイル名でログを記録します。
sshpass -e sftp -oBatchMode=no -b - sftp-user@remote-host << ! cd /data put your-file.log bye!
上記の二つのコマンドをシェルスクリプトファイルに追加して、パスワードを使用してファイルを転送するSFTPスクリプトを取得できます。
別の方法
別の方法でssh-copy関数を使用して同じことを行うこともできます。 この方法では、クライアント用の公開鍵を作成し、この公開鍵をリモートサーバーに追加する必要があります。 これを行うと、リモートサーバーは常に公開鍵を使用し、パスワードの入力を求めるのを停止します。
ターミナルを開き、次のコマンドを実行してクライアントの公開鍵を作成します。
ssh-keygen
3つの質問が表示され、各プロンプトのenterキーを押すだけです。 これにより公開鍵が生成されます。
次のコマンドを実行して、公開鍵をREMOVE SFTPサーバーにコピーします。 Remote-hostをSFTPサーバーのホストIPアドレスに置き換えます。
ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
リモートホストのキーにアクセス/拒否するように求められます。 それを受け入れるy yoを押します。 次に、リモートサーバーのパスワードを入力するよう求められます。 リモートサーバーの承認済み公開鍵のリストに公開鍵を正常に追加するには、このキーを入力します。 あなたはそれを見つけることができるようになります。ssh/authorized_keyファイル。
以降、scp、ssh、sftpを使用している間はパスワードの入力を求められません。
この記事では、SFTPを使用してファイルを転送する二つの異なる方法を見てきました。
も読む:
Pythonで文字列を逆にする方法
Pythonを使用してPostgreSQLデータベースに接続する方法
Ubuntuでスナップを削除する方法
MySQLでランダムなレコードを選択する方法
Linuxで