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-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
コマンドを実行してください。