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

Ubuntu で ssh-copy-id を使用する方法

SSH の便利なツールの 1 つに があります。 ssh コピー ID これは、リモート サーバーに SSH キーをインストールして、ログイン パスワードを入力せずにサーバーにログインするために使用されます。このツールを使用すると、SSH を介したシングル サインオンと自動化されたパスワードなしのログインを簡単に実装できます。公開鍵をリモート ホスト ~ / .ssh /authorized の公開鍵にコピーします _keys ファイルは、必要に応じてファイルとディレクトリを作成することによって削除されますが、既存のファイルまたはフォルダーのアクセス許可は変更されません。コマンド ssh-copy-id を SSH 接続に使用する方法については、このチュートリアルで説明しました。

要件:

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

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

$ ssh-keygen -T rsa

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

$ 須藤ナノ /Etc/ssh/sshd_config

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

パスワード認証 はい サー

PermitRootLogin はい

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

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

構文:

ssh-copy-id コマンドの構文を以下に示します。後で説明するいくつかのオプションをサポートしています。

ssh-copy-id [-lv] [-i キーファイル] [-o オプション][-p ポート] [ユーザー@]ホスト名

ssh-copy-id コマンドのさまざまなオプション:

ssh-copy-id コマンドのさまざまなオプションを使用する目的は、チュートリアルのこの部分で説明されています。

機会 目的
-i キーファイル ファイルにある公開鍵をコピーするために使用されます .複数回使用できます。
-l ssh エージェントが現在持っているキーをコピーするために使用されます。 -i オプションが指定されていない場合のデフォルトとして使用されます。
-o ssh オプション オプションを直接参照するために使用されます。 ssh を渡します。複数回使用できます。
-p ポート デフォルトのポート 22 の代わりに、リモート ホストの指定されたポートに接続するために使用されます。
-v -v の値を ssh に渡すために使用されます。

キーをサーバーにコピーします:

パスワードを使用せずに SSH 接続を確立するには、サーバー コンピューターで公開キーを認証する必要があります。公開鍵が作成された後、ssh-copy-id コマンドはその鍵を認証済みの鍵としてサーバー コンピューターに追加できます。

サーバー コンピューターで次のコマンドを実行して、新しく作成された公開キーをサーバーの承認済みキーとして追加します。

$ ssh-copy-id fahmida@fahida-VirtualBox

公開鍵がリモート サーバーに既に存在する場合は、次の出力が表示されます。それ以外の場合、キーが追加されます。

-i オプションを ssh-copy-id コマンドで使用してファイルから公開鍵を追加することは前述しました。新しく作成した公開鍵をデフォルト ファイルに保存した場合、ファイル名は id_rsa.pub です。 .ただし、キー ペアの作成時に任意のファイル名を指定し、そのファイル名を -i オプションで使用しています。公開鍵をデフォルト ファイルに保存しました。

サーバー コンピューターで次のコマンドを実行して、公開キーをサーバー コンピューターに追加します。このコマンドはキーをサーバーにコピーし、キーを authorized_keys に追加するように構成します サーバーにアクセスするためのファイル。

$ ssh-copy-id -I ~/.ssh/id_rsa fahmida@fahida-VirtualBox

公開鍵が以前にサーバー コンピューターに追加されていない場合は、次の出力が表示されます。


接続を確認してください:

キーをサーバーに追加したら、クライアント マシンがサーバーに接続できることを確認する必要があります。ここでは、サーバー コンピューターのユーザー名は「fahmida」、クライアント コンピューターは「yesmin」です。そのため、最初にクライアント コンピューターにログオンして接続をテストしてください。

次のコマンドを実行して、サーバーの ID をクライアント コンピューターに追加します。

$ ssh-追加

次の ssh コマンドをオプションなしで実行して、サーバー コンピューターに接続します。サーバー コンピューターでパスワード ベースの認証が有効になっている場合、ユーザーは有効なパスワードを入力してサーバーに接続する必要があります。

$ ssh fahmida@fahida-VirtualBox

次の出力は、サーバーの ID がクライアント マシンに追加されたことを示しています。次に、サーバー コンピュータでパスワード ベースの認証が有効になっているため、サーバー ユーザーのパスワードが接続を要求しました。ユーザー名は、コマンド プロンプトで「yesmin」から「fahmida」に変更されます。これは、有効なパスワードを入力した後に接続が適切に確立されたことを示します。

サーバーに接続する場所で公開鍵ファイル名を指定するには、次の ssh コマンドを -i オプションで実行します。公開鍵をカスタム ファイル名で保存するときに必要です。キー生成時にデフォルトのファイル名 id_rsa を使用しました。

$ ssh -I ~/.ssh/id_rsa fahmida@fahida-VirtualBox

以前と同様に、サーバーに接続するためにパスワードを求められます。出力は、接続が正しく確立され、プロンプトのユーザー名が変更されたことを示しています。サーバーへの接続時にパスワードを提供したくない場合は、サーバーの構成ファイルを変更して、パスワードベースの認証を無効にすることができます。

卒業証書:

ssh-copy-id コマンドを使用してリモート ホストに接続する方法については、このチュートリアルで 2 つのローカル ホスト ユーザー アカウントを使用して説明し、読者がこのコマンドの仕組みを理解できるようにしています。


Ubuntu
  1. Ubuntu14.04サーバーにZimbra8.6をインストールする方法

  2. Ubuntu20.04LTSにTelnetをインストールして使用する方法

  3. Ubuntu Server ディスクトップの使い方

  1. UbuntuLinuxでFTPサーバーをセットアップして使用する方法

  2. Ubuntu18.04にMySQLをインストールする方法

  3. Ubuntu18.04にMattermostをデプロイする方法

  1. Ubuntu18.04でOpenVPNサーバーをセットアップする方法

  2. Ubuntu18.04にMinecraftサーバーをインストールする方法

  3. Ubuntu20.04にNginxをインストールする方法