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

Ubuntu で ssh-agent を使用する方法

ssh エージェント Ubuntu で自動的に実行されるように構成されています。ログイン時に自動的に起動しない場合は、「eval」コマンドで手動で起動できます。 SSH 秘密鍵のパスワードは、ユーザー ハンドル ssh-agent を使用して手動で作成できます。 .これは、認証エージェントとして知られています。 ssh-agent は環境変数 SSH_AUTH_SOCK を使用します 認証用。この変数が正しく設定されている場合、ssh-agent 正常に動作します。 ssh-agent の使用 さまざまな目的での Ubuntu での使用については、このチュートリアルで説明されています。

要件:

このチュートリアルの手順を開始する前に、次の手順を完了する必要があります。

以前に有効にしていない場合は、Ubuntu で SSH サービスを有効にします。

リモート サーバーでコマンドを実行するための SSH キー ペアを生成します。次のコマンドを実行して、公開鍵と秘密鍵を作成します。秘密鍵はリモート サーバーに保存され、公開鍵はクライアントに安全に保存されます。

$ ssh-keygen -T rsa

次のコマンドを実行して sshd_config を開きます nano エディターでファイルして、必要な構成をいくつか追加します。

$ 須藤ナノ /Etc/ssh/sshd_config

次の行をファイルに追加して、ルート ログインとパスワード ベースの認証を有効にします。

パスワード認証 はい サー

PermitRootLogin はい

次のコマンドを実行して、SSH サービスを再起動します。

$ sudo サービス ssh 新たに開始

構文:

2 つの異なる ssh エージェントの構文を以下に示します。このコマンドで使用されるオプションの意味については、このチュートリアルの次の部分で説明します。

ssh エージェント [-c | -s] [-Dd] [-a バインド アドレス] [-E フィンガープリント_ハッシュ] [-t ライフ] [コマンド [引数 …]]

ssh エージェント [-c | -s] -k

ssh-agent のさまざまなオプション:

ssh-agent コマンドには多くのオプションがあります。オプションの使用法を以下に示します。

機会 目的
-bind_address 標準ソケットを使用する代わりに、UNIX ドメイン ソケットを指定されたファイル パスに強制的にバインドするために使用されます。
-C stdout で C シェル コマンドを生成するために使用されます。シェルはデフォルトで自動的に認識されます。
-D デバッグ モードを有効にするために使用されます。
-E 指紋_ハッシュ SSH キー フィンガープリントの生成に使用されるアルゴリズムを定義するために使用されます。 md5 と sha256 が有効な値です。
-k 現在実行中のエージェントを終了するために使用されます。
-S Bourne シェル (/bin/sh) コマンドを標準出力に強制的に生成するために使用されます。シェルはデフォルトで自動的に認識されます。
-t ライフ エージェントの ID を維持するために使用される最大秒数を定義するために使用されます。このオプションの値は秒単位で定義されますが、さまざまな接尾辞で定義できます。 B. m は分、h は時間、d は日、w は週です。このオプションを使用しない場合、エージェントは実行中の間、キーをメモリに保持します。この値は、ssh-add コマンドを実行すると上書きされます。

-t オプションの使用は、ここで実証されています。次のコマンドを実行して、エージェント ID を 60 秒間保持します。

$ ssh エージェント -T 60

上記のコマンドを実行すると、次の出力が表示されます。

非対話型認証に ssh-agent コマンドを使用する:

サーバー コンピューターで次のコマンドを実行して、非対話型認証用の ssh エージェントを開始します。

$ 評価 $(ssh-agent)

上記のコマンドを実行すると、次の出力が表示されます。 ssh-agent が実行中です。ここで、サーバー コンピューターのユーザー名は「fahmida」です。

ssh-add を使用して、秘密鍵のパスフレーズを ssh-agent に追加します。

ssh の追加 コマンドでは、ssh 秘密鍵のパスフレーズを指定する必要があります。クライアント コンピューターにログインし、ssh-add を実行します。 端末からのコマンド。

$ ssh-追加

秘密鍵を ssh エージェントに追加した後、scp、sftp、ssh などのさまざまなタイプの SSH コマンドをクライアント マシンから実行できます。

クライアントからサーバーにファイルをコピー:

scp ファイルをクライアントからサーバーと ssh にコピーするコマンド サーバーに接続して、ファイルがコピーされたかどうか、またはチュートリアルのこの部分に表示されていないかどうかを確認するコマンド。 testfile.txt という名前のテキスト ファイルを作成します

testfile.txt

クライアント コンピューターで作成されたテスト ファイルです。

次のコマンドを実行して、testfile.txt の内容を表示します `scp` をダウンロードする前のファイル コマンド。

$ cat testfile.txt

上記のコマンドを実行すると、次の出力が表示されます。

次のコマンドを実行して testfile.txt を取得します クライアント コンピュータから ドキュメント へのファイル サーバー マシンのフォルダー。

$ scp testfile.txt fahmida@fahida-VirtualBox:~/documents/

ファイルがサーバーの場所に正常にコピーされた場合、上記のコマンドを実行すると、次の出力が表示されます。サーバー コンピューターのユーザー名はここにあります 「fahmida」 はクライアント コンピューターのユーザー名です 「Yasmin」 .

ssh と入力して次のコマンドを実行し、サーバーに接続します。 コマンド。

$ ssh fahmida@fahida-VirtualBox

次のコマンドを実行して ドキュメント にアクセスします テキスト ファイルがここにコピーされたかどうかを確認するサーバー マシンのフォルダー。

$ CD ドキュメント

次のコマンドを実行して、ドキュメント 内のファイルとフォルダーのリストを表示します。 フォルダ。

$ ls
[[[[

次の出力は、documents 内のテキスト ファイルが サーバー マシンのフォルダー。

次のコマンドを実行して、サーバー コンピューター上の testfile.txt ファイルの内容を確認します。

$ cat testfile.txt

次の出力は、サーバー コンピューターの testfile.txt の内容がクライアント コンピューターの textfile.txt の内容と一致することを示しています。

ssh エージェントのキャッシュされたすべての秘密鍵を削除します:

-D オプションを指定して次の ssh-add コマンドを実行し、キャッシュされた ssh エージェントからすべての秘密鍵を削除します。

$ ssh-add -D

上記のコマンドを実行すると、次の出力が表示されます。

卒業証書:

ssh-agent の使用 さまざまなタスクを実行するために、クライアント コンピューターからリモート コンピューターに接続する方法です。読者がこのコマンドを使いやすくするために、このチュートリアルで示されている SSH エージェントを実行することで、クライアント マシンからサーバー マシンに任意のファイルをコピーできます。


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

  2. UbuntuLinuxで稼働時間コマンドを使用する方法

  3. Ubuntu で string コマンドを使用する方法

  1. UbuntuLinuxでtailコマンドを使用する方法

  2. Ubuntu で netplan コマンドを使用する方法

  3. Ubuntu で ssh-keyscan を使用する方法

  1. vmstatコマンドの使用方法

  2. Ubuntuでユーザーを削除する方法

  3. Ubuntu18.04でホスト名を変更する方法