SSHの設定をすることで他のパソコンからサーバーを遠隔操作ができるようになります。
設定手順
- OpenSSHをインストールし、起動する。
sudo apt install openssh-server
sudo systemctl start ssh
- アクセス元のパソコンでSSHを使用できるプログラムを開き、アクセス先のサーバーにSSHで繋がることを確認する。(自分はWindowsにインストールしたUbuntuを使っているので、以下はWindowsのUbuntuを使用した場合の手順になります)
ssh -p ポート番号 サーバーユーザー名@サーバーIP
# 例
ssh -p 1234 ethereum@192.168.0.33
- アクセス元のパソコンでSSH用の秘密鍵と公開鍵を作成する。(自分はWindow10のコマンドプロンプトで作成しました)
ssh-keygen -t rsa
- 作成した公開鍵(.pubファイル)を WindowsのUbuntuからUbuntu Server に送信する。
ssh-copy-id -i key.pub -p ポート番号 サーバーユーザーID@サーバーIP
# 例
ssh-copy-id -i key.pub -p 1234 ethereum@192.168.0.33
- 公開鍵と秘密鍵をWindowsのhomeディレクトリに移動してファイルの権限を変更する。
sudo mv /mnt/c/Users/myuser/key /home/myuser/key
sudo mv /mnt/c/Users/myuser/key.pub /home/myuser/key.pub
sudo chmod 0600 /home/myuser/key
sudo chmod 0600 /home/myuser/key.pub
- アクセス先のサーバーでSSHの設定ファイルを開く。
sudo nano /etc/ssh/sshd_config
- 以下の行をnoに変更する。(#がある場合は外す)
PermitRootLogin no
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
- Ctrl + O でファイルの変更内容を保存し、Ctrl + X で編集画面を閉じる。
- 設定ファイルの構文をチェックし、問題がなければSSHを再起動する。
sudo sshd -t
sudo service sshd reload
- アクセス元のパソコンから今度は秘密鍵を使ってSSHできるか確認する。
sudo ssh -i /home/myuser/key サーバーユーザー名@サーバーIP -p ポート番号
# 例
sudo ssh -i /home/myuser/key ethereum@192.168.0.33 -p 1234