ubuntu24.04でssh

ssh接続でスマホから操作してみる実験

作業前に、標準仕様なのかネットワーク関連のユーティリティが何も入ってないのでインストール

$ sudo apt install net-tools -y

sshがデフォで入ってないのでインストールし、systemctlで確認する

$ sudo apt install openssh-server -y
$ systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; disabled; preset: enabled)
     Active: active (running) since Thu 2025-02-13 22:12:24 JST; 7s ago
TriggeredBy: ● ssh.socket
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 5112 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 5114 (sshd)
      Tasks: 1 (limit: 18970)
     Memory: 1.2M (peak: 1.5M)
        CPU: 25ms
     CGroup: /system.slice/ssh.service
             └─5114 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

 213 22:12:24 kt-desktop systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
 213 22:12:24 kt-desktop sshd[5114]: Server listening on :: port 22.
 213 22:12:24 kt-desktop systemd[1]: Started ssh.service - OpenBSD Secure Shell server.

Loadedがdisabledになっていると自動起動されない(はず)

$ sudo systemctl enable ssh.service

で有効化しておく

sshがウェルノウンポート22のままだと、総当たり攻撃の頻度が増えるため、変えておく

vimで開き、40行目をコメントアウトし、Port 10022 にしておく

$ sudo vim /etc/ssh/ssh_config

再度statusを確認したところ、22のままになっている。サービスをリスタートしたりOS再起動しても、ポートが22から変わらない
Server listening on :: port 22が10022になってほしい

● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; enabled; preset: enabled)
     Active: active (running) since Thu 2025-02-13 22:29:57 JST; 2s ago
TriggeredBy: ● ssh.socket
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 6825 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 6827 (sshd)
      Tasks: 2 (limit: 18970)
     Memory: 2.4M (peak: 2.7M)
        CPU: 26ms
     CGroup: /system.slice/ssh.service
             ├─5114 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
             └─6827 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

 213 22:29:57 kt-desktop systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
 213 22:29:57 kt-desktop systemd[1]: ssh.service: Found left-over process 5114 (sshd) in control group wh>
 213 22:29:57 kt-desktop systemd[1]: ssh.service: This usually indicates unclean termination of a previou>
 213 22:29:57 kt-desktop sshd[6827]: Server listening on :: port 22.
 213 22:29:57 kt-desktop systemd[1]: Started ssh.service - OpenBSD Secure Shell server.
~
~

上記の出力を見るに、ssh.socketがsshサービス起動前に実行されており、ここを変更しなければならない

$ sudo /lib/systemd/system/ssh.socket
[Socket]
ListenStream=10022
Accept=no
FreeBind=yes

サービスの変更後はリロードがいる

$ sudo systemctl daemon-reload
$ sudo systemctl restart ssh.socket
$ sudo systemctl restart ssh
$ systemctl status ssh
 213 22:40:13 kt-desktop systemd[1]: Dependency failed for ssh.service - OpenBSD Secure Shell server.
kt@kt-desktop:~$ sudo systemctl restart ssh
kt@kt-desktop:~$ systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/usr/lib/systemd/system/ssh.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-02-13 22:41:21 JST; 2s ago
TriggeredBy: ● ssh.socket
Docs: man:sshd(8)
man:sshd_config(5)
Process: 7657 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 7659 (sshd)
Tasks: 2 (limit: 18970)
Memory: 2.4M (peak: 3.0M)
CPU: 26ms
CGroup: /system.slice/ssh.service
├─5114 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
└─7659 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
213 22:41:21 kt-desktop systemd[1]: Starting ssh.service - OpenBSD Secure Shell server... 
213 22:41:21 kt-desktop systemd[1]: ssh.service: Found left-over process 5114 (sshd) in control group wh> 
213 22:41:21 kt-desktop systemd[1]: ssh.service: This usually indicates unclean termination of a previou> 
213 22:41:21 kt-desktop sshd[7659]: Server listening on :: port 10022. 
213 22:41:21 kt-desktop systemd[1]: Started ssh.service - OpenBSD Secure Shell server. lines 1-20/20 (END)

10022に変更することができた
昔(2018年とか)はssh_configの編集で変更されたが、ubuntu22.04ではオーバロードされるようなので注意

$ ssh localhost

からのパスワード入力で接続できればOK(出るのはlogout,exit,Ctrl+Dなど)

スマホからアクセスしてみる

スマホからssh接続してapt update


いいなと思ったら応援しよう!