学習帳

Windows,Linux,Mac,AWS,VMware,ネットワークなどの検証

Ubuntu Desktop にSSHで接続する

これはなに?

Ubuntu DesktopにSSH接続したいので設定
参考:Ubuntu 24.04にssh接続できるようにする

環境

接続先:Ubuntu Desktop: 24.04.2 LTS
接続元:Windows 11

sshサーバのインストール

$ sudo apt install ssh

sshサーバの起動

$ sudo systemctl start ssh

確認

$ sudo systemctl status ssh
[sudo] ubuntu のパスワード:
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; disabled; preset: enabled)
     Active: active (running) since Sun 2025-05-04 05:31:42 JST; 4min 39s ago
TriggeredBy: ● ssh.socket
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 2705 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 2707 (sshd)
      Tasks: 1 (limit: 4610)
     Memory: 4.1M (peak: 5.1M)
        CPU: 33ms
     CGroup: /system.slice/ssh.service
             └─2707 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

 5月 04 05:31:42 ubuntu systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
 5月 04 05:31:42 ubuntu sshd[2707]: Server listening on :: port 22.
 5月 04 05:31:42 ubuntu systemd[1]: Started ssh.service - OpenBSD Secure Shell server.
 5月 04 05:36:01 ubuntu sshd[2809]: Accepted password for ubuntu from 192.168.100.2 port 55313 ssh2
 5月 04 05:36:01 ubuntu sshd[2809]: pam_unix(sshd:session): session opened for user ubuntu(uid=1000) by ubuntu(uid=0)

鍵を作ります

接続元PCにて、SSHに使う鍵を作ります。
Windows11のPowerShellで作ります。ホームディレクトリで以下を実行。
PS> ssh-keygen -t ed25519 -f ".ssh\id_ubuntu2404"

.sshフォルダに に2つファイルが作成されました。
id_ubuntu2404 -> 秘密鍵
id_ubuntu2404.pub -> 公開鍵 。接続先PC(今回はUbuntu)で使う。

公開鍵を接続先PC(Ubuntu)にコピー

scpで公開鍵を接続先PC(Ubuntu)にコピーします。
まだ公開鍵認証は使えないので、パスワードで接続します。
書式:scp <公開鍵> <ubuntuのユーザー名>@<ubuntuのホスト名 or IPアドレス>:<ディレクトリ>
PS> scp ".ssh\id_ubuntu2404.pub" ubuntu@192.168.1.2:~/.ssh

公開鍵を使えるようにauthorized_keysファイルにコピー

Ubuntu側の~/.ssh に公開鍵が転送されています。

$ ls ~/.ssh
authorized_keys  id_ubuntu2404.pub

公開鍵をauthorized_keysにコピーします。
※元からあったauthorized_keysは空ファイルですが、バックアップを取っておきます。

$ cp authorized_keys authorized_keys.old
$ cp id_ubuntu2404.pub authorized_keys

接続テスト

Windows11のPowerShellからSSH接続してみます。
書式:ssh -i <秘密鍵ファイル> <接続先(Ubuntu)のユーザー名>@<接続先(Ubuntu)のホスト名またはIPアドレス>
PS> ssh -i ".ssh\id_ubuntu2404" ubuntu@192.168.1.2

.ssh\config に接続設定をする

ssh ubuntu で簡単に接続できるように.ssh\configファイルに設定します。

host ubuntu
  HostName "192.168.1.2"
  Port 22
  User ubuntu
  Identityfile "C:\Users\<Windowsのユーザ名>\.ssh\id_ubuntu2404"

接続
PS> ssh ubuntu