もしあなたが少しでもLinuxを使っているなら、あなたは間違いなくSSHとして知られるツールについて聞いたことがあるでしょう。Secure Shellは、一般にSSHとして知られ、クライアントとリモートサーバーの間に安全な接続を確立するためのネットワークプロトコルである。ネットワーク経由で遠隔地にあるさまざまな種類のコンピュータに安全にログインできるように設計されています。ここでは、SSH 鍵を簡単にセットアップし、サーバーにコピーする方法を紹介します。

SSH のインストール

まず始めに、SSH サーバーをインストールする必要があります。Software Center やパッケージマネージャで openssh-server パッケージを見つけてインストールすることができます。あるいは、サーバー上にいる場合(あるいは単に端末を使いたい場合)、端末を開いて以下のコマンドを入力します。

# Ubuntu/Debian
sudo apt install openssh-server
 
# Fedora/CentOS/REHL
sudo dnf install openssh-server

Linux で SSH を使えるようにする

OpenSSH サーバーがあなたのマシンにインストールされたら、systemd ユニットを起動して有効にする必要があります。これを行うには、ターミナルに以下のコマンドを入力するだけです。

sudo systemctl enable --now ssh

SSH鍵の生成

openssh サーバーをインストールしたら、SSH 鍵ペアの生成に取りかかります。この作業を行う前に、既存のキーペアがないことを確認してください。この作業は既存のキーペアを上書きしてしまうからです。

既存のキーペアがあるかどうかを確認するには、次のコマンドを使用します。

ls -la ~/.ssh

既存の鍵ペアがある場合、上記のコマンドで「id_rsa」と「id_rsa.pub」ファイルが表示されるはずです。

既存のSSHキーペアがないことを確認したら、新しいキーペアの生成に進みます。そうでない場合は、古い鍵をバックアップして、紛失しないようにしてください。

新しい鍵を生成するには、コマンドを使用します。

ssh-keygen -t rsa -b 4096

上のコマンドは ssh-keygen ユーティリティを起動し、SSH 鍵ペアを対話的に生成します。t` オプションを使用して、生成する鍵の種類を指定します。この場合、RSA 鍵を生成します。

また、-b オプションを使用して、鍵のビット数を指定します。RSAキーを使用する場合、最小のビットサイズは1024です。指定しない場合は、3072ビットの鍵を生成します。

SSH鍵を保存する場所は、鍵を使ってSSH接続するときにパスを打ち込まないようにするために、デフォルトの場所を使用するのが良いでしょう。

鍵をパスフレーズで暗号化しない場合は、Enterキーを押してスキップします。

鍵をリモートサーバーにコピーする

新しい SSH キーペアを生成したので、それを管理したいリモートマシンにアップロードする必要があります。

これを行う最も効率的な方法は、ssh-copy-idコマンドを使用することです。コマンドは以下のように使用します。

ssh-copy-id remote_user@remote_IP

別のファイル名のキーファイルを使用する場合は、以下のコマンドを使用してキーファイルのパスを指定します。

ssh-copy-id -i ~/.ssh/id_rsa remote_user@remote_IP

初めてリモートマシンにログインする場合、フィンガープリントを受け入れる必要があります。

次に、リモートユーザーの SSH パスワードを入力します。

認証されると、ssh-copy-idコマンドが id_rsa.pub 鍵の内容をリモートマシンの “~/.ssh/authorized_keys” ファイルに追記し、接続を終了します。

リモートマシンにログインする

上記の手順がすべて正常に完了したら、パスワードなしでリモートサーバーにログインできるようになります。

このテストはコマンドを使用して行うことができます。

ssh remote_user@remote_ip

鍵のパスフレーズを有効にしていない限り、自動的にログインされます。

よくある質問

1. SSHは安全ですか?

SSHは認証されたユーザーがリモートシステムにログインするための強力なセ キュリティツールです。しかし、その設定ファイルが許す範囲でしか安全ではありません。設定されていない/設定されていないSSHサーバーは、ハッカーや第三者のアクセスに対しても脆弱になる可能性があります。インストールした直後にSSHの設定を安全にすることを確認してください。

2. SSH authorized keysはどこにありますか?

SSH authorized_keys ファイルは、各ユーザーの公開鍵ファイルを保持し、どのユーザーがサーバーへのログインを許可されるかを指定するものです。Linuxの場合、authorized_keysファイルは、通常、ユーザーのホームディレクトリの".ssh “フォルダに格納されています。

3. 3. ssh-copy-id permission denied の問題を解決するにはどうしたらいいですか?

この問題は、リモートサーバーにすでに公開鍵が設定されていて、パスワード認証が無効になっている場合にのみ発生します。この問題を解決するには、まずサーバにログインし、「/etc/ssh/sshd_config」ファイルでパスワード認証を有効にしてから、もう一度 ssh-copy-id コマンドを実行してください。

新しいキーファイルをコピーしたら、パスワード認証オプションを再度無効化することを忘れないでください。

Akira
Akiraは情熱的なゲーマーであり、製品レビュアーです。ゲームをしていないときは、最新のゲーミングアクセサリーを試したり、製品のレビューをしていることが多い。彼の分かりやすいスタイルは、ゲーマーが自分のニーズに最も適した製品を簡単に判断できるようにするものです。また、技術的な問題にも精通しており、その解決方法も知っている。