- -LinuxでSSHキーをセットアップする方法

LinuxでSSHキーをセットアップする方法

SSHは優れたテクノロジーです。あなたはそれを使用して非表示にすることができますVPNトラフィックにより、Webサイトへの接続が保護されます。唯一の問題は、リモートマシンにログインしようとするたびに、パスワードを入力する必要があることです。これは面倒です。 Bashスクリプトを使用してSSH経由で一度に多くのマシンに接続したい開発者、またはSecure Shellを使用してパスワードの入力にうんざりしている人には、パスワードなしのSSHがあります。このプロセスでは、ホストマシンで安全なSSHキーを生成し、PCにアクセスする方法としてそれを共有します。これにより、パスワードを知らなくても、キーを持つ誰でもログインできます。方法は次のとおりです。

SSHキーとは何ですか?

SSHキーは一意の識別ファイルであり、Secure Shellで使用されます。これらのキーの目的は、ユーザーに一意のIDを提供し、ログイン時に「信頼できる」とマークすることです。これらのキー自体は、誰かのIDを証明するファイル以上のものです。実際、SSHではユーザーはパスワードではなくキーでログインできます。つまり、SSH経由でログインするたびにパスワードの入力を強制されるのではなく、SSHキーを使用します。

SSHキーはLinuxインストールの安全な場所に配置され、そこからパスワードなしで必要なだけリモートマシンにログインできます。

セキュアSSHキーの生成

セキュアなSSHキーを最初に生成するには、それが必要ですSSHが稼働しています。これは、必ずしもSSHサーバーが必要なわけではないことを理解してください。 Linux PCで基本的なSSHツールとテクノロジーが実行されているだけです。 SSHのセットアップ方法がわかりませんか?こちらのガイドに従ってください。

SSHサーバーをホストしているシステムで常にSSHキーを生成します。 SSHセッションをホストしていないサーバーでそれらを生成しようとしないで、SSHホストマシンにコピーします。うまくいきません。

鍵生成プロセスを開始するには、ターミナルを開きます。ターミナルウィンドウ内で、次を実行します。

ssh-keygen -t rsa

ランニング ssh-keygen 「Generateing public / private rsa key」を出力しますペア"。これは、システムが使用する公開鍵と秘密鍵の両方を生成していることを意味します。公開鍵は誰でも使用できるものであり、大丈夫です。一方、秘密鍵は、誰とも共有してはならないものです。したがって、名前は「プライベート」です。

キーは/に保存されますhome / username / .ssh / id_rsa.

注意: 削除しないでください その 〜/ .ssh キーが含まれているため、フォルダ。このフォルダを何らかの方法で改ざんしてから、このマシンにリモートでログインしようとすると、SSHプロンプトは失敗します。また、警告を出力し、ロックアウトします。

リモートマシン上のSSHキー

SSHキー(パブリックとプライベートの両方が作成され、使用する準備ができたら、ログインするシステムにコピーする必要があります。 SSH経由でログインする予定のすべてのマシンでこのプロセスを繰り返すことが重要です。それ以外の場合、キーを持たないユーザーは、パスワードメソッドを使用してログインする必要があります。

リモートシステムにキーを追加するには、次の例に従ってください。これをホストマシンからSSH経由で実行していることを確認してください。

ssh username@remote-host-name mkdir -p .ssh

このsshコマンドを実行すると、非表示が作成されます 〜/ .ssh リモートマシンのホームディレクトリ上のフォルダー(ログインに使用されたユーザーを含む)。新しく生成されたSSHキーファイルをコピーする場所であるため、このフォルダーは重要です。

SSHキーファイルをコピーするには、SSHホストマシンからキーを必要とするリモートマシンにさらに別のコマンドを実行します。

cat .ssh/id_rsa.pub | ssh username@remote-host-name "cat >> .ssh/authorized_keys"

ネットワークの速度に応じて、コピーには数秒かかります。終了すると、リモートPCは生成されたキーを取得し、パスワードなしでSSHホストPCにログインできるようになります。

SSHキーのバックアップ

SSHキーは便利なもので、それぞれがユニーク。そのため、それらをバックアップすることが最善の行動です。問題は、他の場所に保存すると、誰かがあなたのSSHキーを見つけて、それを保管し、自分で使用する可能性があることです。質問は、SSHキーを安全にバックアップする良い方法は何ですか?暗号化。

最速で最も効率的な(そして最も簡単な方法)暗号化はGnuPGを使用することです。このツール自体は、すでにLinuxにあるほとんどの暗号化ツールに組み込まれており、ファイルの暗号化が行われる際の頼りになるツールです。 GnuPGをインストールするには、ターミナルを開き、パッケージマネージャーで「gpg」を検索します。プログラムは、非常に不明瞭なLinuxディストリビューションであっても、簡単に見つけられるはずです。

GPGが稼働したら、圧縮して暗号化プロセスを開始します 〜/ .ssh tarアーカイブファイルへのディレクトリ。これを行うと、ファイル内の個々のファイルを個別に暗号化する必要がなくなります。 〜/ .ssh フォルダ。

tar -czvf ssh-stuff.tar.gz /home/username/.ssh

圧縮が終了したら、暗号化プロセスを開始します。

注:暗号化する前に、実行します gpg 端末で新しいキーリングを生成します。

gpg -c ssh-stuff.tar.gz

暗号化プロセスが完了すると、GnuPGは「ssh-stuff.tar.gz.gpg「。ファイルの元のロックされていないバージョンを削除してください。バックアップアーカイブを復号化するには、次の手順を実行します。

gpg ssh-stuff.tar.gz.gpg
</ p>

コメント