DigitalOceanのクラウドサーバーにSSHで接続する方法を説明します。DegitalOceanではSSHを使わなくてもブラウザ上のコンソールからもサーバーにアクセスできますが、ブラウザのコンソールでは制限事項もあり、またSSHの方が安全性が高いことから、SSHを用いた接続が推奨されています。
SSH接続による認証
SSHとは?
SSH接続はあらかじめ公開鍵と秘密鍵のキーペアを作成しておき、サーバー側に公開鍵を登録して、クライアント側に秘密鍵を保存することで、公開鍵と秘密鍵のペアが一致した場合のみ認証される仕組みです。つまり、秘密鍵が鍵で公開鍵が鍵穴だと考えれば分かりやすく、あらかじめサーバー側に鍵穴を登録しておき、自分のパソコンで持っている鍵を使ってサーバーの鍵穴を開けるイメージです。
一般的なパスワード認証では、パスワードさえ破られれば誰でも接続できてしまうのに対して、SSH接続では秘密鍵ファイルを持っているコンピュータしか接続できないので、より安全な仕組みといえます。
DigitalOceanのクラウド環境でもSSH接続を用いたアクセスが推奨されているので、今回はSSH接続の設定の仕方を説明していきます。
SSHクライアント
SSH接続には専用のクライアントアプリケーションが必要ですが、Windows 10 version 1803からはデフォルトでOpenSSHが組み込まれているので、ここではこのOpenSSHを用いたSSH接続を説明します。
秘密鍵・公開鍵を作成し、登録する
秘密鍵・公開鍵のペアを作成する
Windows 10にはOpenSSHがデフォルトで組み込まれているので、Windows TerminalやPowerShellなどのコンソールを開いて以下のコマンドを実行するだけで秘密鍵・公開鍵のペアが作成されます。
ssh-keygen
最初に作成する秘密鍵ファイルの名前を指定しますが、デフォルトのC:\Users\(ユーザー名)\.ssh\id_rsa
のままにしておいてください。また、passphraseの入力も空欄で大丈夫です。これで.sshフォルダが作成され、そこに秘密鍵ファイル(id_rsa)と公開鍵の文字列を表すファイル(id_rsa.pub)が保存されます。
ここで作成されたC:\Users\(ユーザー名)\.ssh\id_rsa
ファイルがSSH接続を行うための「鍵」となります。
公開鍵をサーバー側に登録する
続いて、作成された公開鍵をサーバー側に登録します。DigitalOceanの場合はクラウドの設定画面から公開鍵の登録が可能です。
公開鍵を表すファイル(id_rsa.pub)をテキストエディタ(メモ帳やVS Codeなど)で開き、文字列をすべて「SSH key content」にコピーし、任意の名前を付けて公開鍵を登録することができます。
SSHで接続してみる
DegitalOceanの接続したいドロップレットのIPアドレスが000.000.000.000として、rootでログインしてみます。PowerShellで以下のコマンドを実行してください。
ssh root@000.000.000.000
ドロップレットにパスワードの設定がされている場合は、パスワードを入力します。これで、自分のパソコンに保存されている秘密鍵ファイルと、サーバー上に登録された公開鍵とが照合されて、DigitalOceanのドロップレットにroot権限でアクセスすることができました。
サーバーとの接続を終了させるときはexitコマンドを用います。
exit
コメント