Ubuntu ServerにOpenSSHをインストール
-
OpenSSHのインストール: Ubuntuには通常、OpenSSHがプリインストールされていますが、インストールされていない場合は次のコマンドでインストールできます。
sudo apt update
sudo apt install openssh-server
SSHサービスの状態確認: インストール後、SSHサービスが正常に動作しているかを確認します。
sudo systemctl status ssh
サービスが「active (running)」と表示されていれば、SSHサービスは稼働中です。 -
SSHの設定ファイル編集: /etc/ssh/sshd_config ファイルを編集して、必要に応じて設定をカスタマイズします。例えば、パスワード認証を無効にするには、以下の設定を編集します。
sudo vi /etc/ssh/sshd_config
設定例:
パスワード認証を無効にする: PasswordAuthentication no
ルートログインを禁止する: PermitRootLogin no
SSHサービスの再起動: 設定を変更した後、SSHサービスを再起動して変更を適用します。
sudo systemctl restart ssh -
ファイアウォール設定 (必要に応じて): Ubuntuのファイアウォールが有効になっている場合は、SSHトラフィックを許可する必要があります。
sudo ufw allow ssh
sudo ufw enable
sudo ufw status
これらのステップでUbuntu ServerにOpenSSHを設定できます。設定によってはセキュリティリスクが伴う場合があるため、必要な変更を慎重に行ってください。 -
秘密鍵と公開鍵のペアを生成する: ターミナルを開き、以下のコマンドを実行します。ここで -b オプションで鍵のビット数を指定でき(例えば2048ビットまたは4096ビット)、-t オプションで鍵のタイプを指定できます(一般的には rsa が推奨されますが、ecdsa や ed25519 も選択できます)。
ssh-keygen -t rsa -b 4096
このコマンドを実行すると、鍵の保存場所とパスフレーズの入力を求められます。特に指定がなければ、デフォルトの場所(通常は ~/.ssh/id_rsa)に鍵が保存されます。パスフレーズはオプショナルですが、セキュリティを強化するために設定することをお勧めします。
公開鍵をサーバーにコピーする: 公開鍵(.pub ファイル)をサーバーの ~/.ssh/authorized_keys ファイルに追加する必要があります。これにはいくつかの方法がありますが、一番簡単なのは ssh-copy-id コマンドを使用することです。次のコマンドを使用して公開鍵をサーバーにコピーします(username と server_ip を適切なものに置き換えてください)。
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
このコマンドは、指定されたユーザー名とIPアドレスでサーバーにログインし、公開鍵をサーバーの適切な場所に追加します。
鍵の使用
生成された秘密鍵を使用してサーバーにSSH接続するには、通常のSSHコマンドを使用します。
ssh username@server_ip
鍵の生成と配置が正しく行われていれば、パスフレーズを設定した場合を除き、パスワードを入力することなくサーバーにログインできます。パスフレーズを設定した場合は、接続時にそのパスフレーズの入力を求められます。
- ~/.ssh/config ファイルを設定することで、SSH接続の設定をカスタマイズし、接続情報を簡単に管理できます。このファイルを使用すると、サーバーのアドレス、ユーザー名、使用する鍵、その他のオプションを予め定義しておくことができ、コマンドラインから毎回詳細な情報を入力する手間を省くことができます。
基本的な設定方法
SSH設定ファイルの作成: もし ~/.ssh/config ファイルがまだ存在しない場合は、新しく作成します。
touch ~/.ssh/config
ファイルの編集: お使いのテキストエディターで ~/.ssh/config ファイルを開きます。例えば、nano を使用する場合は以下のコマンドです。
vi ~/.ssh/config
設定の追加: 以下は一般的な設定の例です。これは Host キーワードを使用して特定のSSH接続の設定を定義します。
Host server_alias
HostName server_ip_or_domain
User your_username
Port 22
IdentityFile ~/.ssh/id_rsa
この設定により、server_alias というエイリアスで接続設定を行い、次のように簡単にSSH接続を行うことができます。
ssh server_alias
Enjoy ssh!!!