GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでSCPコマンドにパスワードを渡す方法

Linuxオペレーティングシステムのユーザーエクスペリエンスを徐々に卒業していくと、LinuxデスクトップからサーバーまたはLinuxサーバーからサーバーのエンタングルメントに陥ることになります。ほとんどの場合、これらのシナリオは、有用なファイルやディレクトリのコピーの転送など、優先順位が付けられたOSの目的に関連しています。

[あなたも好きかもしれません:LinuxでSSHコマンドにパスワードを渡す方法]

Scpコマンドを使用してファイルを安全に転送する

scpコマンドラインツールのシンプルさにより、ユーザーはファイルやディレクトリをあるLinux環境から別の環境に簡単かつリモートでコピーできます。デスクトップ環境からサーバー環境へ、またはサーバー環境から別のサーバー環境への可能性があります。

SCPコマンドの使用法は、パスワードの暗号化をサポートして、ファイルやディレクトリの転送中にパスワードが漏洩したり、盗聴されたりしないように保護します。 SCPコマンドを実装する従来の、または既知のアプローチは、次の構文に準拠しています。

$ scp [Username@SourceHost:]Path_to_File_to_Copy  [Username@DestinationHost:]Path_to_Destination_of_Copied_File

たとえば、次の方法で、Linuxデスクトップ環境からリモートサーバーの1つにファイルを正常にコピーできます。

$ scp linuxshelltips.txt [email protected]:/home/ubuntu/  

上記の最初の実行はSCPを示しました コマンドを実行すると、次のパスワード入力プロンプトが表示されます。

[email protected]'s password:

Linuxユーザーがユーザーに関連付けられた正しいパスワードを入力して初めて、ターゲットファイルが指定された宛先にコピーされます。

ファイルとディレクトリを目的の宛先にコピーする前に、パスワード入力プロンプトを待つ必要がないワンライナーコマンドがあった場合はどうなりますか?

LinuxにSSHPassをインストールする–コマンドにSSHパスワードを追加する

上記の質問をブレインストーミングするには、両方の SSHPASSを実装する必要があります およびSCP 1つのコマンドでツール。まず、この SSHPASSが何であるかを理解しましょう ツールが提供します。

SCPのロジック コマンドは、ファイルとディレクトリをホストマシンから宛先マシンにコピーすることです。 SCP 指図;それだけでは、1行のコマンドを使用した場合のパスワード認証に対応するには不十分であるため、OSユーザーが必要なログインパスコードを入力するためのパスワードプロンプトが連続して表示されます。

SSHPASSの場合 SCPと一緒に実装されます 、ユーザーのファイルとディレクトリをコピーする前に、パスワードプロンプトが不要になります。

$ sudo apt-get install sshpass     [On Debian, Ubuntu and Mint]
$ sudo yum install sshpass         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/sshpass  [On Gentoo Linux]
$ sudo pacman -S sshpass           [On Arch Linux]
$ sudo zypper install sshpass      [On OpenSUSE]    

LinuxでSCPコマンドにパスワードを追加する方法

SSHPASS 非対話型パスワード認証のユースケースは、 SCPと一緒に実装できます。 次のコマンド構文で示されているように。

$ sshpass -p "REMOTE_USER_PASSWORD" scp UserName@Remote_Host:/DESTINATION_PATH_TO_COPIED_FILES  

たとえば、次の方法でファイルをリモートサーバーにコピーしようと試みることができます。

$ sshpass -p "REMOTE_USER_PASSWORD" scp linuxshelltips_v2.txt [email protected]:/home/ubuntu/

上記の場合、ディレクトリファイルをコピーする場合は、-rを使用します。 ターゲットディレクトリ内のすべてのファイル、フォルダ、およびサブフォルダを再帰的にコピーするオプション。

次のコマンドを検討してください。

$ sshpass -p "REMOTE_USER_PASSWORD" scp -r Some_Directory/ [email protected]:/home/ubuntu/
​

示されているように、 SSHPASS + SCP コマンドは、Linuxユーザーがシステム/ユーザーファイルとディレクトリをあるホストマシンから別の宛先マシンにコピーするためのワンライナーコマンドの使用法を実現するのに役立ちます。

コピーされたファイルとディレクトリの対象となる保存場所は、Linuxサーバー環境またはLinuxデスクトップ環境である可能性があります。 SSHPASS + SCP ツールを使用すると、ユーザーが開始したアクションを実行する前にパスワードプロンプトを待つ必要がないため、ファイルコピーが高速、効率的、かつ管理しやすくなります。

ただし、 SSHPASSの使用には注意が必要です。 悪意のあるユーザーがユーザーのパスワードを簡単に乗っ取る可能性があるため、ユーザーが多すぎるネットワーク上で。


Linux
  1. Linuxでファイルの名前を変更する方法

  2. Linuxでアカウントのパスワードを管理する方法

  3. Linuxでパスワードを変更する方法(passwdコマンド)

  1. LinuxでSuコマンドを使用する方法

  2. LinuxでのSCPコマンド:使用方法と例

  3. Linuxコマンドのスクリプトを作成する方法

  1. LinuxでPasswdコマンドを使用する方法

  2. Linux でパスワード プロンプトを中断せずに SCP を実行する方法

  3. パスワードをscpに渡す方法は?