はじめに
Ubuntu 14.04サーバーをプロビジョニングする場合は、特定の重要な手順に従ってサーバーを適切にセットアップし、サーバーを安全にして目的の目的で実行する必要があります。この記事では、サーバーに初めてアクセスする方法を説明する方法から、SSHキーとその間のすべてを使用してサーバーを安全にする方法まで、これらの手順を1つずつ説明します。
SSHキーを設定する
サーバーにアクセスするためにSSHベースのセキュリティを設定することは、手動のrootパスワードを使用するよりもはるかに効果的な方法です。 SSHキーに依存するVPSのセキュリティシステムをクラックすることは、エンコードされたキーを使用してより洗練された方法でVPSを保護するため、ほぼ不可能です。
SSHキーの仕組み:
- キーペアはローカルPCで生成されます。
- キーペアを生成すると、公開キーと秘密キーの2つの長い文字列が提供されます。
- 公開鍵がVPSに追加されます。
- 対応する秘密鍵のペアがローカルPCに保存されます。
- VPSにアクセスするたびに、SSHシステムはそれに追加された公開鍵の秘密鍵ペアを検索します。システムは、2つのキーが一致した場合にのみロックを解除します。
- SSHキーの設定後にrootパスワードを無効にすることもできます。
公開鍵をサーバーに追加し、秘密鍵がPCの安全な場所に保存されていることを確認してください。
SSHキーを設定するには、以下の手順に従ってください。
ステップ1:RSAキーペアを作成します:
PCでターミナルを開きます
ターミナルで次のコマンドを入力します:
ssh-keygen -t rsa
ステップ2:キーとパスフレーズを保存する
上記のキー生成コマンドは、いくつかの質問でフォローアップします:
キーを保存するファイルを入力してください(/home/user/.ssh/id_rsa):
Enterキーを押すと、キーがユーザーのホームに保存されます。
パスフレーズを入力してください(パスフレーズがない場合は空):
このステップでは、秘密鍵を保護するためのパスフレーズを求められます。 SSHの設定のすべてのポイントはセキュリティであるため、パスフレーズを追加することをお勧めします。キーペアを使用するたびにパスフレーズを入力する必要があります。
秘密鍵にパスフレーズを関連付けたくない場合は、Enterキーを押して、パスフレーズフィールドを空のままにします。
これでキー生成プロセスが完了します:
ssh-keygen -t rsapublic / private rsa key pairを生成しています。キーを保存するファイルを入力してください(/home/demo/.ssh/id_rsa):パスフレーズを入力してください(パスフレーズがない場合は空):同じパスフレーズをもう一度入力してください: IDは/home/demo/.ssh/id_rsaに保存されています。公開鍵は/home/demo/.ssh/id_rsa.pubに保存されています。鍵の指紋は次のとおりです。4a:dd:0a:c6:35: 4e:3f:ed:27:38:8c:74:44:4d:93:67 demo @ aキーのランダムアートイメージは次のとおりです:+-[RSA 2048] ---- + | .oo。 || 。 o.E || +。 o || 。 ==。 || =S=。 || o + =+ || 。 o+o。 || 。 o || | + ----------------- +
上記の例では:
秘密鍵の場所: /home/demo/.ssh/id_rsa
公開鍵の場所: /home/demo/.ssh/id_rsa.pub
ステップ3:コピーVPSの公開鍵
これで、SSHを設定するVPSに公開鍵を追加できます。
次のコマンドを使用して公開鍵を見つけます
cat ~/.ssh/id_rsa.pub
次に、キーを選択して Ctrl + Shift + cを押して、端末から公開キーをコピーします。 次に、公開鍵をSSHキーの追加SSHキーの更新ボックスに貼り付けます。 one.e2enetworks.comで提供 ポータルをクリックし、SSHキーの更新をクリックします。
参考までに、これはSSH公開鍵がどのように見えるかです。
<前>のssh-rsaのAAAAB3NzaC1yc2EAAAADAQABAAABAQCviUTzL / IU709LbE2YhKzsgG90627HqTKOPJaqzWbxmk2rtDI5iymhY32RvTYot01uZONv + VuMjXZxcC0ev0Pz0ZOruEr6b + 2B7dTywtWlRw7XpJznZt7AQKlAKWK4RVPxMuSsNP6jSD8h7SbelNIIpw + qnO7hhTkETu5AWEUEOuOQs4meFg1WJ / G5j43fmpXk22VjmctUiUKfVqNrTH6HbmklmYuX4DEE0x0Ekb8mHaI / cqO8MqAkgw99iGTMakYXO33RXRsu7Q / Ab93hQioE7PwXKyAXAyZe + vjL7YnHq7PvGnAPdVr1AJlUFSn7Vk7TLrGVq6nf3ua5G5WnY3Nb E2E-ネットワーク@テストrootユーザーとしてのSSHログイン
rootユーザーとしてサーバーにログインするには、次のコマンドを使用します。 server_ip_addressをサーバーのIPに置き換えます
ssh root @ server_ip_address
ルート Linuxまたは他のUnixライクなオペレーティングシステム上のすべてのコマンドとファイルにデフォルトでアクセスできるユーザー名またはアカウントです。ルートアカウント、ルートユーザー、スーパーユーザーとも呼ばれます。
サーバーに最初にサインインすると、次のメッセージが表示されます。このメッセージは、ローカルホストの秘密鍵が変更されるまで、次回のログイン以降は表示されません。 はいと入力します Enterを押します サインインプロセスを終了します。
ホスト「139.59.46.169(139.59.46.169)」の信頼性を確立できません。ECDSAキーのフィンガープリントはSHA256:anOXWprBpD8Z4j / 8d + MYOrhNb3wg9 / I3Snd2Nhep7v4です。接続を続行してもよろしいですか(はい/いいえ) ?
ディレクトリ.sshには700のアクセス許可が必要であり、authorized_keysファイルには400または600のアクセス許可が必要です。権限を変更するには、次のコマンドを使用します。
$ cd $ mkdir .ssh &&touch .ssh / authorized_keys $ chmod 700 .ssh / &&chmod 600 .ssh / authorized_keys $ cat id_rsa.pub>> .ssh / authorized_keys &&rm id_rsa.pu
新しいユーザーの作成
root以外の新しいユーザーを作成してサーバーにログインする場合は、次のコマンドを使用します
adduserテスト
testを、設定する対応するユーザー名に置き換えます。サーバー内に通常のアカウント権限を持つ新しいユーザーアカウントがあるので、このユーザーアカウントから管理タスクを実行する必要がある場合があります。したがって、このアカウントにもsudo特権を提供することをお勧めします。これを行うには、ターミナルで次のコマンドを実行するだけです。
gpasswd -a test sudo
この新しいユーザーの新しいパスワードを入力する必要があります。新しいパスワードを入力し、プロンプトが表示されたらパスワードを再入力します。この後、名前や番号など、その他の基本的な詳細を入力する必要があります。 Enterキーを押してこの手順をスキップするか、必要に応じて詳細を入力できます。
新しいユーザーのSSHログイン
rootアカウント用に秘密鍵がすでに生成および展開されているため、SSH鍵を使用して新しいユーザーアカウントも保護することをお勧めします。これを行うには、rootユーザーとしてサーバーからログアウトし、ターミナルで次のコマンドを実行します。xxx.xx.xx.xxはサーバーのIPに置き換えられます。
ssh-copy-id [email protected]
次のようにサインインして実行したアクションを確認します
ssh [email protected]
秘密鍵がサーバーの新しいアカウントに正しくデプロイされている場合は、パスワードの入力を求められることなくログインできます。
結論
このようにサーバーを設定すると、サーバーの本来の目的のための強固で安全な基盤が事前に提供されます。サーバーが稼働してアクセスできるようになったので、パスワードで保護されたサーバーよりも高いセキュリティが保証され、安心してサーバーにデータをデプロイできます。サーバーへのファイアウォールルールの追加について調べたい場合は、この記事を確認してください。