DUICUO

SSHキー管理ツールをご紹介します

[[317117]]

よく使用されるオープンソース ツールの時間節約ショートカット。

私はSSHを頻繁に使用しています。毎日、複数のサーバーやRaspberry Pi(同じ部屋に設置され、インターネットに接続されています)にログインしています。アクセスが必要なデバイスが多数あり、アクセスに必要な要件もさまざまです。そのため、 ssh / scpコマンドの各種オプションを使用するだけでなく、接続の詳細をすべて記述した設定ファイルも管理する必要があります。

時間が経つにつれて、皆さんにも役立つかもしれない時間節約のヒントやツールをいくつか発見しました。

SSHキー

SSHキーは、パスワードなしでSSH接続を認証する方法です。アクセスを高速化したり、セキュリティ対策(パスワードアクセスを無効にして、承認されたキーのみを許可する場合)として使用できます。SSHキーを作成するには、次のコマンドを実行します。

  1. $ ssh - keygen

これにより、 ~/.ssh/に鍵ペア(公開鍵と秘密鍵)が作成されます。秘密鍵( id_rsa )はPCに保存し、共有しないでください。公開鍵( id_rsa.pub )は他のユーザーと共有したり、別のサーバーに保存したりできます。

sshコピーID

自宅や職場でRaspberry Piを使うときは、社内の信頼できるネットワークのセキュリティを気にしないので、SSH設定はデフォルトのままにしておくことが多いです。また、毎回パスワード認証をしなくて済むように、SSHキー(公開鍵)をRaspberry Piにコピーしておくのが一般的です。そのためには、 ssh-copy-idコマンドを使ってSSHキー(公開鍵)をRaspberry Piにコピーします。このコマンドは、自動的にキー(公開鍵)をRaspberry Piに追加します。

  1. $ ssh - copy - id pi@192 . 168.1 . 20

実稼働サーバーでは、パスワード認証を無効にして、承認された SSH キーによるログインのみを許可する傾向があります。

sshインポートID

似たようなツールとしてssh-import-idがあります。この方法を使えば、GitHubから鍵をインポートすることで、自分自身(または他のユーザー)にコンピュータやサーバーへのアクセスを許可できます。例えば、私は既にGitHubアカウントに個別のSSH鍵を登録しているので、パスワードなしでGitHubにプッシュできます。これらの公開鍵は有効なので、 ssh-import-idそれらを使って私のどのコンピュータでも認証できます。

  1. $ ssh - import - id gh : bennuttall

また、これを使用して、他の人にキーを尋ねることなくサーバーへのアクセスを許可することもできます。

  1. $ ssh - import - id gh : waveform80

また、Stormというツールも使用しました。これはSSH設定にSSH接続を追加できるので、接続の詳細を覚えておく必要がなくなります。pip pip使ってインストールできます。

  1. $ sudo pip3 install stormssh

次に、次のコマンドを使用して、SSH 接続情報を構成に追加できます。

  1. $ storm add pi3 pi@192 . 168.1 . 20

そうすれば、 ssh pi3を使うだけでアクセスできるようになります。同様に、 scp file.txt pi3:sshfs pi pi3: ` も使用できます。

ポート番号などの追加の SSH オプションを使用することもできます。

  1. $ storm add pi3 pi@192 . 168.1 . 20 : 2000

Stormのドキュメントを参照すれば、保存された接続の一覧表示、検索、編集が簡単に行えます。Stormは実際にはSSH設定ファイル~/.ssh/config内の項目のみを管理します。これらの項目がどのように保存されているかを理解すれば、手動で編集することも可能です。設定ファイル内の接続例は以下のようになります。

  1. Host pi3
  2. user pi
  3.     hostname 192.168 . 1.20
  4. port 22

結論は

Raspberry Piから大規模なクラウドインフラまで、SSHはシステム管理に欠かせないツールです。鍵管理の知識は大きな強みになります。他にSSHに関するヒントがあれば教えてください。