WindowsマシンからLinux(UbuntuServer)への公開鍵を使ったSSH接続
単純なWindowsマシンからLinux(UbuntuServer)へのSSH接続の方法を紹介します。 特別な 事はしませんが、よく忘れるので備忘です。
環境
- Windows 11 Home
- Ubuntu Server 22.04 LTS
- 本記事での説明では、ユーザ名を
ubuntu
、IPアドレスを192.168.1.100
としています。
- 本記事での説明では、ユーザ名を
Ubuntu ServerでSSHを有効にする
Ubuntu ServerがSSH接続を許可するように設定します。
- OpenSSHのインストール
Ubuntu ServerにSSHサーバーがインストールされているか確認し、なければインストールします。
1sudo apt update
2sudo apt install -y openssh-server
3
- SSHサービスの起動と有効化
SSHサービスを開始し、再起動後も有効にします。
1sudo systemctl enable --now ssh
2
- ファイアウォールの設定(必要に応じて)
ufw を使用してSSHを許可します。
1sudo ufw allow OpenSSH
2sudo ufw enable
3
- Ubuntu ServerのIPアドレスを確認 Ubuntu ServerのローカルIPアドレスを確認します。
1ip a | grep "inet "
2
または
1hostname -I
2
例えば 192.168.1.100 というIPが表示されたら、それをWindowsから使用します。
WindowsからSSH接続
Windowsでは以下の方法でSSH接続できます。
- WindowsのコマンドプロンプトまたはPowerShellを使用
まずは接続確認のためにパスワード認証でSSH接続できることを確認します。
1ssh ユーザー名@IPアドレス
2
例:
1ssh ubuntu@192.168.1.100
2
Windowsから公開鍵を使ったSSH接続
セキュリティ面でも楽という面でもパスワード無しでSSH接続するほうがよいので、WindowsでSSHキーを作成し、Ubuntu Serverに登録します。
- WindowsでSSHキーを作成
PowerShellまたはWindows Terminalで以下を実行:
1ssh-keygen -t rsa -b 4096
2
デフォルトの保存場所(C:\Users\ユーザー名.ssh\id_rsa)でEnterを押します。
- 公開鍵をUbuntuにコピー
以下のコマンドでUbuntu Serverに公開鍵を登録。ユーザ名・IPアドレスは適宜変更してください。パスワードも聞かれます。
1type $HOME\.ssh\id_rsa.pub | ssh ubuntu@192.168.1.100 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
2
- 鍵認証でSSH接続
今後は以下でパスワードなし接続が可能:
1ssh ubuntu@192.168.1.100
2