SSH(Secure Shell)は、サーバーとクライアント間のリモートログインを保護するために使用される暗号化ネットワークプロトコルです。 SSHは、Telnetや、rlogin、rsh、rexecプロトコルなどの他のシェルプロトコルに代わるものです。
UbuntuでSSHを有効にすることは、OSの新規インストール後に実行するタスクの1つであり、システムをリモートで接続してタスクを安全に実行するのに役立ちます。
この投稿では、Ubuntu 20.04 / 18.04、Linux Mint 20/19、Debian10/9でSSHを有効にする方法を紹介します。この記事に記載されている手順は、以前のバージョンのUbuntu / Linux Mint&Debianでも機能するはずです。
前提条件
SSHサービスを有効にするには、rootユーザーまたはsudo権限を持つユーザーとしてログインする必要があります。
Ubuntu / Linux Mint/DebianでSSHを有効にする
SSHを使用できない理由は、SSHサーバーパッケージがデフォルトでUbuntu、Linux Mint、またはDebianにインストールされていないためです。 SSHサーバーパッケージはOSベースリポジトリで利用可能であり、aptコマンドで簡単にインストールできます。
Ctrl + Alt+Tでターミナルを開きます。
aptコマンドを使用してSSHサーバーパッケージをインストールします。
sudo apt update sudo apt install -y openssh-server
パッケージのインストールが完了すると、SSHサービスが自動的に開始されます。次のコマンドを実行して、SSHサーバーパッケージのインストールを確認できます。
sudo systemctl status ssh
出力:
上のスクリーンショットは、SSHサービスが稼働していることを確認しています。
ファイアウォールでSSHを許可する
ファイアウォールでSSH着信接続を許可する必要がある場合があります(@aroceeに感謝)。したがって、以下のコマンドを使用してUFWでルールを作成し、外部マシンからのSSH接続を許可します。
sudo ufw allow ssh sudo ufw enable sudo ufw reload
SSH経由でUbuntu/Linux Mint/Debianマシンにアクセス
WindowsのパテまたはLinuxまたはmacOSの組み込みSSHクライアントを使用してSSH経由でシステムに接続できます。
ウィンドウ
セッションウィンドウにマシンのIPを入力し、[開く]をクリックします 。
user_name@ip_address
初めてUbuntuシステムに接続すると、指紋を受け入れるためのポップアップウィンドウが表示される場合があります。 はいをクリックします 接続します。
ユーザーのパスワードを入力して、システムにログインします。ログインに成功すると、シェルプロンプトが表示されます。
Linux
ssh user_name@ip_address
初めてUbuntuシステムに接続すると、以下のメッセージが表示されます。 はいと入力します システムへの接続を続行します。
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established. ECDSA key fingerprint is SHA256:sueTz6FURcKDbeyGkpE7lUHOaosW/rkkvlG18v98T7Y. Are you sure you want to continue connecting (yes/no)? Yes
システムパスワードを入力してください。
Warning: Permanently added '192.168.1.10' (ECDSA) to the list of known hosts. [email protected]'s password: << Enter Password
ログインに成功すると、次のようなメッセージが表示されます。
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-20-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage 587 packages can be updated. 261 updates are security updates. Last login: Tue Apr 30 09:03:34 2019 from 192.168.1.6 raj@desktop:~$
これでシステムにアクセスし、管理タスクの実行を開始できます。
Ubuntu / Linux Mint/DebianでSSHルートアクセスを有効にする
デフォルトでは、SSHを介したrootログインはUbuntu / Linux Mint/Debianでは許可されていません。ただし、SSH構成ファイルを編集することでrootログインを有効にできます。
sshd_configファイルを編集します。
sudo nano /etc/ssh/sshd_config
PermitRootLoginをYesに設定します
PermitRootLogin Yes
SSHサービスを再起動します。
sudo systemctl restart ssh
これで、sshを介してrootとして直接ログインできるようになります。
Ubuntu / Linux Mint/DebianでSSHを無効にする
システムでSSHを無効にしたい場合は、以下のコマンドを実行するだけでSSHサービスを停止できます。
sudo systemctl stop ssh
また、SSHサービスを無効にして、システムの再起動時に開始されないようにする必要があります。
sudo systemctl disable ssh
結論
この記事では、Ubuntu 20.04 / 18.04、Linux Mint 20/19、Debian10/9システムでSSHを有効にする方法を学びました。これで、ターミナルを介してリモートロケーションで管理アクティビティを実行できるようになりました。
さらに、パスワードを入力せずにLinuxシステムに接続するようにSSHキーベースの認証を設定できます。
SSHサービスの構成の詳細については、SSHの公式マニュアルページにアクセスしてください。