目次:
Secure Shell(SSH)は、クライアントとサーバー間の安全な接続に使用される暗号化ネットワークプロトコルであり、さまざまな認証メカニズムをサポートしています。
最も一般的な2つのメカニズムは、パスワードベースの認証と公開キーベースの認証です。 SSHキーの使用は、従来のパスワード認証よりも安全で便利です。
このチュートリアルでは、Ubuntu 18.04マシンでSSHキーを生成する方法を説明します。 また、SSHキーベースの認証を設定し、パスワードを入力せずにリモートLinuxサーバーに接続する方法も示します。
UbuntuでSSHキーを作成する
新しいSSHキーペアを最初に生成する前に、Ubuntuクライアントマシンで既存のSSHキーを確認します。 これを行うには、次のlsコマンドを実行します。
ls -l ~/.ssh/id_*.pub
上記のコマンドが
No such file or directory
or
no matches found
No such file or directory
メッセージを出力する場合、クライアントマシンにSSHキーがないため、次のステップに進み、SSHキーペアを生成できます。
既存のキーがある場合は、それらを使用して次の手順をスキップするか、古いキーをバックアップして新しいキーを生成できます。
次のように入力して、電子メールアドレスをコメントとして含む新しい4096ビットSSHキーペアを生成します。
ssh-keygen -t rsa -b 4096 -C "[email protected]"
出力は次のようになります。
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):
Enter
を押して、デフォルトのファイルの場所とファイル名を受け入れます。
次に、安全なパスフレーズを入力するように求められます。 パスフレーズを使用するかどうかは、あなた次第です。 パスフレーズを使用することを選択した場合、追加のセキュリティレイヤーを取得できます。
Enter passphrase (empty for no passphrase):
相互作用全体は次のようになります。
新しいSSHキーペアが生成されたことを確認するには、次のように入力します。
ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
公開鍵をUbuntuサーバーにコピーする
SSHキーペアを生成したので、次のステップは、管理するサーバーに公開キーをコピーすることです。
公開鍵をサーバーにコピーする最も簡単で推奨される方法は、
ssh-copy-id
と呼ばれるユーティリティを使用することです。 ローカルマシンのターミナルタイプ:
ssh-copy-id remote_username@server_ip_address
remote_username
パスワードの入力を
remote_username
ます。
remote_username@server_ip_address's password:
ユーザーが認証されると、公開キー
~/.ssh/id_rsa.pub
がリモートユーザー
~/.ssh/authorized_keys
ファイルに追加され、接続が閉じられます。
Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.
何らかの理由で
ssh-copy-id
ユーティリティがローカルコンピューターで使用できない場合、次のコマンドを使用して公開キーをコピーできます。
cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
SSHキーを使用してサーバーにログインします
上記の手順を完了すると、パスワードの入力を求められることなく、リモートサーバーにログインできるようになります。
それをテストするには、SSH経由でサーバーにログインしてみてください。
ssh remote_username@server_ip_address
SSHパスワード認証を無効にする
パスワード認証を無効にすると、サーバーのセキュリティがさらに強化されます。
SSHパスワード認証を無効にする前に、パスワードなしでサーバーにログインでき、ログインしているユーザーがsudo特権を持っていることを確認してください。
リモートサーバーにログインします。
ssh sudo_user@server_ip_address
テキストエディタでSSH設定ファイル
/etc/ssh/sshd_config
を
/etc/ssh/sshd_config
ます。
sudo nano /etc/ssh/sshd_config
次のディレクティブを検索し、次のように変更します。
/ etc / ssh / sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
完了したら、次のように入力してファイルを保存し、SSHサービスを再起動します。
sudo systemctl restart ssh
この時点で、パスワードベースの認証は無効になっています。
結論
このチュートリアルでは、新しいSSHキーペアを生成し、SSHキーベースの認証を設定する方法を学びました。 同じキーを複数のリモートサーバーに追加できます。 また、SSHパスワード認証を無効にして、サーバーにセキュリティレイヤーを追加する方法も示しました。
デフォルトでは、SSHはポート22でリッスンします。デフォルトのSSHポートを変更すると、自動化された攻撃のリスクが軽減されます。
Ubuntu sshセキュリティファーストルック:Ubuntu 7.10デスクトップLinux

「Gutsy Gibbon」リリースは、フラッシュと機能をもたらし、デスクトップLinuxのリーダーとしてUbuntuをリードしています。 Webサイトやデータベースを実行するためのLinuxディストリビューションの選択は簡単です。 Linuxは長年にわたってサーバをうまく処理してきました。しかし、デスクトップ上でLinuxを正しく利用することは常に困難でした。そのため、Ubuntuは3年前に初めて登場したときにこのような話題を呼びました。 Ubuntuバージョン7.10(コードネームGutsy Gibbon)は、グラフィクスの改善、ソフトウェアインストールの簡素化、およびソフトウェアのマイナーな改良など、過去の成功を基盤にしています。
デスクトップLinux Face-Off:Ubuntu 8.04対Fedora 9

世界最大の2つの新バージョンLinuxのディストリビューションが勢ぞろいしています。彼らはどのようにマッチするのですか?
Ubuntu 9.04 Beta:クイックルック

Ubuntu Jaunty Jackalopeの予定されたベータ版が到着しました。ここでは、どのように形作っているかを見ていきます。