bash スクリプトで ssh/scp コマンドにパスワードを渡す方法の詳細な説明

bash スクリプトで ssh/scp コマンドにパスワードを渡す方法の詳細な説明

SSHPASSをインストールする

最新のオペレーティング システムでは、sshpass パッケージはデフォルトのパッケージ リポジトリで利用できます。次のコマンドを使用してシステムにインストールできます。

Debian の場合:

$ sudo apt sshpassをインストール

CentOS の場合:

$ yum --enablerepo=epel -y sshpassをインストールします

SSHPASSの使用

sshspass は sshspass 環境変数を使用してユーザー パスワードを保存します。まず sshspass 変数とパスワードを使用してから、このコマンドを使用する必要があります。以下は sshspass を使用した簡単なシェル スクリプトです。

エクスポート SSHPASS=ry3AvbWO0oupYX9HCMzp0Axx

sshpass -e scp testfile.csv [email protected]:/uploads/

以下のようにsshpassを使用してsshコマンドを実行することもできます。

sshpass -e ssh ユーザ@example.com

シェルスクリプトでパスワードを要求する SCP コマンドの問題を解決する

キーファイルを使用します。

ここでは、ホスト A (192.168.100.3) を使用してホスト B (192.168.100.4) のファイルを取得することを想定しています。

ペアリング キーを生成するには、ホスト A で次のコマンドを実行します。

ssh-keygen -t rsa

プロンプトが表示されたら Enter キーを押します。公開鍵は、ユーザー ディレクトリの下の .ssh ディレクトリに保存されます。たとえば、root は次の場所に保存されます。

/root/.ssh/id_rsa.pub

.ssh ディレクトリ内の id_rsa.pub ファイルをホスト B の ~/.ssh/ ディレクトリにコピーし、authorized_keys に名前を変更します。

ホスト A でコマンドを実行して、ホスト B との信頼関係を確立します (例: ホスト B の IP が 192.168.100.4 であると仮定)。

scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys

次に、scp コマンドと ssh コマンドを使用して、パスワードなしでホスト B からファイルを取得します。ssh 192.168.100.4 Enter キーを押すと、パスワードは不要になります。

注: 実際には、id_rsa.pub の内容を他のマシンの authorized_keys に追加するだけです。

以下もご興味があるかもしれません:
  • Vue-CLI 3 scp2 プロジェクトのサーバーへの自動デプロイ方法
  • Python は scp を呼び出してファイルをサーバーにアップロードする例
  • Windows で秘密鍵を介して ssh と scp を使用する方法
  • Pythonはscpコマンドを実行して、ファイルとフォルダをリモートホストのディレクトリにコピーします。
  • Linuxはscpコマンドを使用してファイルをローカルコンピュータにコピーし、ローカルファイルをリモートサーバーにコピーします。
  • Python Pexpectはパスワード入力によるscpコピーの方法を実装します
  • Linux で scp コマンドを使用してファイルをリモートでコピーする方法の詳細な説明
  • scp は Linux サーバーから別の Linux サーバーにデータをコピーします
  • Androidでscp操作を実装する方法

<<:  js ドラッグ アンド ドロップ テーブルでコンテンツ計算を実現する

>>:  MySQLのサブクエリユニオンの効率性についての簡単な説明と

推薦する

HTML メタの説明

導入メタタグは、HTML言語のHEAD領域にある補助タグです。 meta は、ページの説明、キーワー...

ウェブデザインにおける円形要素の使用例 25 選

本日の投稿では、Web デザインで使用される円形要素の優れた例をいくつか挙げ、美しい丸いボタン、メニ...

WeChatアプレットwebViewにH5を埋め込む方法の例

序文WeChat ミニプログラムは新しいオープン機能を提供します!ついにミニプログラムにHTMLペー...

LinuxのCentos7でmysql5.7.29を構築する詳細なプロセス

1. MySQLをダウンロードする1.1 ダウンロードアドレスhttps://downloads.m...

W3C チュートリアル (10): W3C XQuery アクティビティ

XQuery は、XML ドキュメントからデータを抽出するための言語です。 XQuery は、XML...

IE、Firefox、Chromeブラウザではスペースの表示が異なります

&nbsp;&nbsp;IE、Firefox、Chrome ブラウザでの表示効果は、...

HTML+CSS+JavaScript でガールフレンド版のスクラッチ カードを作成します (一度見ればすぐに覚えられます)

誰もがスクラッチ チケットで遊んだことがあると思います。子供の頃、ポケットにお金が入るとすぐに友達に...

docker-maven-pluginプラグインは対応するjarパッケージを取得できません

docker-maven-plugin プラグインを使用する場合、Maven は対応する jar パ...

Vue 初心者ガイド: 環境の構築と開始方法

目次初期ビューVue開発環境の構築Vueインスタンスの作成Vue テンプレート構文Vue データバイ...

HTML タグのメタ概要、HTML5 のヘッド メタ属性の概要

序文metaはhtml言語のhead領域にある補助タグです。おそらく、これらのコードは不要だと思うで...

Mysql での結合操作

結合の種類1. 内部結合: 結合関係を持つ 2 つのテーブル内のフィールドは、結合関係を満たすレコー...

Linux のパスワードを紛失した場合にリセットする方法

1. スタートアップメニューでは、カーソルを最初の行に移動します - eを押します 2. UTF-8...

Windows 10 システムに mysql-8.0.13 (zip インストール) をインストールする詳細なチュートリアル

インストール環境の説明•システムバージョン: windows10 •MySQL バージョン: mys...

Nginx アップロードファイルのサイズを変更する簡単な方法

オリジナルリンク: https://vien.tech/article/138序文私は、マークダウン...

MySQLの一般的なメモリ不足による起動失敗に対する完璧な解決策

1. MySQLが正常に起動しない場合は、エラーログ/var/log/mysql/error.log...