SSHにおけるデフォルトポートでの接続方法からポート番号の変更方法まで
ssh接続におけるポート番号変更方法とは?
今回は、ssh接続におけるポート番号変更方法について説明します。デフォルトポートでの接続方法から、ポート番号の変更方法、ポート番号の複数指定方法を紹介します。ポート番号を変更する目的は、セキュリティ対策です。
興味のある方はぜひご覧ください。
ssh環境
ここでは、WSL2(Windows Subsystem for Linux 2)のSUSE LinuxからubuntuにSSH接続します。sshクライアント側(SUSE Linux)の環境は以下です。
1
2
3
4
5
6
7
8
9
10
11
12
|
ssh-client:~> cat /etc/os-release
NAME="SLES"
VERSION="15-SP1"
VERSION_ID="15.1"
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP1"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15:sp1"
ssh-client:~> ssh -V
OpenSSH_7.9p1, OpenSSL 1.1.0i-fips 14 Aug 2018
ssh-client:~>
|
sshサーバ側(ubuntu)の環境は以下です。
1
2
3
4
5
6
|
ssh-server:~$ cat /etc/issue
Ubuntu 20.04.1 LTS \n \l
ssh-server:~$ ssh -V
OpenSSH_8.2p1 Ubuntu-4ubuntu0.1, OpenSSL 1.1.1f 31 Mar 2020
ssh-server:~$
|
デフォルトポートで接続
デフォルトポート(22番ポート)でのssh接続の方法を紹介します。ssh-keygenコマンドでキーを生成します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
ssh-client:~> ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:cg5YAlnu1n+2tWmUOJz1JLBYg6HNW2jFycXFzYN5H8U ssh-client
The key's randomart image is:
+---[RSA 4096]----+
| .o. .=.+.o++o|
| .o +.oB .o.+E|
| o o =o.+ . +|
| . = ..o. o . .|
| + + S. + = |
| . * = o . |
| o oo. |
| o o.o |
| ..o |
+----[SHA256]-----+
|
生成した鍵をssh-copy-id コマンドで転送します。事前にsshサーバ側のサービスを起動しておいてください。
1
|
ssh-client:~> ssh-copy-id ユーザ名@ホスト名
|
ssh接続してみます。
1
|
ssh-client:~> ssh ユーザ名@ホスト名
|
ssh接続を抜けて、次はポート番号指定でssh接続してみます。-pオプションを指定します。
1
|
ssh-client:~> ssh -p 22 ユーザ名@ホスト名
|
ポート番号の変更
sshのポート番号を変更する方法を紹介します。sshサーバ側の/etc/ssh/sshd_configファイルを編集します。何かあった場合に設定を戻せるように、事前にバックアップを作成しておいてください。
1
|
ssh-server:~$ cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_back
|
設定ファイルの「Port」の部分を編集します。ここでは、2222番ポートに変更します。
1
2
|
ssh-server:~$ vi /etc/ssh/sshd_config
Port 2222
|
編集後に、差分を確認してみます。ポート番号の個所のみの差分があることが分かります。
1
2
3
4
5
6
|
ssh-server:~$ diff /etc/ssh/sshd_config /etc/ssh/sshd_config_back
15c15
< Port 2222
---
> #Port 22
ssh-server:~$
|
sshd -tコマンドで設定内容を確認します。エラーが表示されなければ問題ありません。
1
|
ssh-server:~$ sshd -t
|
sshサーバを再起動します。
1
|
ssh-server:~$ /etc/init.d/ssh restart
|
ss -atnコマンドで、TCPポートを確認します。2222番でlistenしていることが分かります。
1
2
3
4
5
|
ssh-server:~$ ss -atn
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:2222 0.0.0.0:*
LISTEN 0 128 [::]:2222 [::]:*
ssh-server:~$
|
変更したポート番号を指定してssh接続してみます。
1
|
ssh-client:~> ssh -p 2222 ユーザ名@ホスト名
|
.ssh/configファイルを作成すれば、ポート番号などを記述しておくことができます。
1
2
3
4
5
6
7
8
9
10
11
|
ssh-client:~> cat .ssh/config
Host myhost
# ホスト名
HostName ホスト名
# ユーザ名
User ユーザ名
# ポート番号
Port 2222
# 接続用の鍵ファイルパス
IdentityFile ~/.ssh/id_rsa
ssh-client:~>
|
以下のようにssh接続できます。
1
|
ssh-client:~> ssh myhost
|
複数ポート設定
sshのポート番号を複数設定する方法を紹介します。/etc/ssh/sshd_configファイルを編集します。ここでは、デフォルトの22番ポートも指定します。
1
2
3
|
ssh-server:~$ vi /etc/ssh/sshd_config
Port 2222
Port 22
|
最初にバックアップした設定ファイルとの差分を確認してみます。
1
2
3
4
5
6
|
ssh-server:~$ diff /etc/ssh/sshd_config /etc/ssh/sshd_config_back
15,16c15
< Port 2222
< Port 22
---
> #Port 22
|
sshサービスを再起動し、listenポートを確認します。
1
2
3
4
5
6
7
8
9
10
|
ssh-server:~$ sshd -t
ssh-server:~$ /etc/init.d/ssh restart
* Restarting OpenBSD Secure Shell server sshd [ OK ]
ssh-server:~$ ss -atn
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:2222 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:2222 [::]:*
LISTEN 0 128 [::]:22 [::]:*
ssh-server:~$
|
sshクライアント側の.ssh/configファイルを編集します。ここでは、myhost2を指定します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
ssh-client:~> cat .ssh/config
Host myhost
# ホスト名
HostName ホスト名
# ユーザ名
User ユーザ名
# ポート番号
Port 2222
# 接続用の鍵ファイルパス
IdentityFile ~/.ssh/id_rsa
Host myhost2
# ホスト名
HostName ホスト名
# ユーザ名
User ユーザ名
# ポート番号
Port 22
# 接続用の鍵ファイルパス
IdentityFile ~/.ssh/id_rsa
ssh-client:~>
|
sshクライアントからは、以下のように接続できます。
1
2
|
ssh-client:~> ssh myhost
ssh-client:~> ssh myhost2
|
まとめ
いかがでしたでしょうか。ssh接続におけるポート番号変更方法について説明しました。デフォルトポートでの接続方法から、ポート番号の変更方法、ポート番号の複数指定方法を紹介しました。
ぜひご自身でコマンドを書いて、理解を深めてください。
ネプラス株式会社はサービス開始から10年以上
『エンジニアの生涯価値の向上』をミッションに掲げ、
多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
ネプラス株式会社はこんな会社です
秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
インフラ業界に特化
ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。
業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。
-
正社員なのにフリーランスのような働き方
正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。
プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。
-
大手直取引の高額案件
案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。
Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。
-
スキルアップ支援
不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。
受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など
※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。
-
現給与を保証します!※
前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。
※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。
-
インセンティブ制度
ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。
取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。
-
社会保険・福利厚生
社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。
さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。
-
東証プライム上場企業グループ
ネプラスは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
ネプラス株式会社に興味を持った方へ
ネプラス株式会社では、インフラエンジニアを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
オンライン面接も随時受付中。ぜひお気軽にご応募ください。