MENU
やすひら
やすひらと申します。
長靴を履いたタヌキ(ITエンジニア)です。
モノ作りの楽しさを発信中。
X(旧Twitter)のフォローもお願いします。

[Linuxコマンド]sshコマンドの概要と使い方

sshコマンドは遠隔マシンへのログインを暗号化技術を用いて行うコマンドです。

やすひら

sshコマンドの概要と使用方法を紹介します

この記事でわかること
  • sshコマンドの概要
  • sshコマンドの使い方
目次

コマンド概要

sshでは指定したアドレスのマシンへログインするコマンドです。
sshでの通信は暗号化されるため、セキュアなログインが可能です。
標準では22番ポートを使用します。

コマンドオプション

コマンドオプションを紹介します。

コマンドオプション意味
-bアクセス元IPアドレスを指定する
-C通信をgzip圧縮する
-c暗号方式指定
-e指定文字をエスケープ文字に変換
-F設定ファイル指定
-fバックグラウンド実行
-i秘密鍵指定
-Lアクセスを転送
-Rアクセスを転送
-lユーザー名指定
-pポート番号指定
-1SSH version 1 接続
-2SSH version 2 接続
-4IPv4アドレス接続
-6IPv6アドレス接続
-XX11転送を有効
-xX11転送を無効

コマンドの使い方

sshコマンドの使い方を紹介します。

Linuxサーバーへパスワード認証によりログイン

sshコマンドでLinuxサーバーへパスワード認証によりログインします。

コマンド形式

ssh [ユーザー名]@[IPアドレス]
ssh -l [ユーザー名] [IPアドレス]

コマンド実行例

$ ssh user@111.111.111.111
user@111.111.111.111's password: 
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 4.15.0-213-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

  System information as of Tue Jun 25 15:15:30 JST 2024

  System load:  0.14               Processes:           101
  Usage of /:   45.4% of 49.04GB   Users logged in:     1
  Memory usage: 16%                IP address for eth0: 111.111.111.111
  Swap usage:   0%

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Infrastructure is not enabled.

0 updates can be applied immediately.

142 additional security updates can be applied with ESM Infra.
Learn more about enabling ESM Infra service for Ubuntu 18.04 at
https://ubuntu.com/18-04

New release '20.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Tue Jun 25 13:26:50 2024 from 111.111.111.112
$

ユーザー名userでIPアドレス111.111.111.111のサーバーへログインを試みて、パスワードを入力し、ログインしています。

Linuxサーバーへ鍵認証によりログイン

sshコマンドでLinuxサーバーへ鍵認証によりログインします。

コマンド形式

ssh -i [鍵ファイル] [ユーザー名]@[IPアドレス]
ssh -i [鍵ファイル] -l [ユーザー名] [IPアドレス]

コマンド実行例

$ ssh -i ~/.ssh/id_rsa user@111.111.111.111
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 4.15.0-213-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

  System information as of Wed Jun 26 14:00:37 JST 2024

  System load:  0.14               Processes:           101
  Usage of /:   45.4% of 49.04GB   Users logged in:     1
  Memory usage: 16%                IP address for eth0: 111.111.111.111
  Swap usage:   0%

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Infrastructure is not enabled.

0 updates can be applied immediately.

142 additional security updates can be applied with ESM Infra.
Learn more about enabling ESM Infra service for Ubuntu 18.04 at
https://ubuntu.com/18-04

New release '20.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Wed Jun 26 13:15:37 2024 from 111.111.111.112
$

ユーザー名userでIPアドレス111.111.111.111のサーバーへ~/.ssh/id_rsaを用いた鍵認証によりログインしています

Linuxサーバーへポート指定でログイン

sshコマンドでLinuxサーバーへポート指定でログインします。

コマンド形式

ssh -p [ポート番号] [ユーザー名]@[IPアドレス]

コマンド実行例

$ ssh -i ~/.ssh/id_rsa -p 22 user@111.111.111.111
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 4.15.0-213-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

  System information as of Wed Jun 26 14:02:54 JST 2024

  System load:  0.05               Processes:           103
  Usage of /:   45.4% of 49.04GB   Users logged in:     1
  Memory usage: 16%                IP address for eth0: 111.111.111.111
  Swap usage:   0%

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Infrastructure is not enabled.

0 updates can be applied immediately.

142 additional security updates can be applied with ESM Infra.
Learn more about enabling ESM Infra service for Ubuntu 18.04 at
https://ubuntu.com/18-04

New release '20.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Wed Jun 26 14:00:38 2024 from 111.111.111.112
$

ポート指定でログインできました。

Linuxサーバーで遠隔操作

Linuxサーバーへログインできたらログイン先マシンを遠隔操作することが可能です。
ログインしたユーザーの権限に依存しますが、許可されている操作を実行できます。(コマンド実行等)

コマンド実行例

$ ssh -i ~/.ssh/id_rsa user@111.111.111.111
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 4.15.0-213-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

  System information as of Wed Jun 26 15:30:21 JST 2024

  System load:  0.07               Processes:           103
  Usage of /:   45.4% of 49.04GB   Users logged in:     0
  Memory usage: 16%                IP address for eth0: 111.111.111.111
  Swap usage:   0%

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Infrastructure is not enabled.

0 updates can be applied immediately.

142 additional security updates can be applied with ESM Infra.
Learn more about enabling ESM Infra service for Ubuntu 18.04 at
https://ubuntu.com/18-04

New release '20.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Wed Jun 26 14:05:28 2024 from 111.111.111.112
$ ls
hogehoge  hogehoge.txt
$ pwd
/home/user
$

ログインしたサーバーを遠隔操作できました。

Linuxサーバーとの接続を切断

以下のコマンドで、サーバーとの接続を切断することができます。

コマンド意味
exitログアウト
logoutログアウト

コマンド実行例

$ ssh -i ~/.ssh/id_rsa -p 22 user@111.111.111.111
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 4.15.0-213-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

  System information as of Wed Jun 26 14:05:27 JST 2024

  System load:  0.13               Processes:           103
  Usage of /:   45.4% of 49.04GB   Users logged in:     1
  Memory usage: 16%                IP address for eth0: 111.111.111.111
  Swap usage:   0%

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Infrastructure is not enabled.

0 updates can be applied immediately.

142 additional security updates can be applied with ESM Infra.
Learn more about enabling ESM Infra service for Ubuntu 18.04 at
https://ubuntu.com/18-04

New release '20.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Wed Jun 26 14:05:13 2024 from 111.111.111.112
$ logout
Connection to 111.111.111.111 closed.

サーバーからログアウトできます。

sshコマンドの設定

sshコマンドでは、以下の設定が可能です。

  • ポート番号変更
  • rootユーザーのログイン禁止設定
  • 鍵認証の設定
  • パスワードによるログイン禁止設定

sshコマンドの設定を適切に行うことで、セキュリティを強化することもできます。

sshコマンドのセキュリティ

sshコマンドは暗号化されているため、セキュアなログインが可能です。
クライアント-サーバー間の通信を第3者に盗聴されても、通信内容が暗号化されているため、ユーザー名/パスワードも含めて傍受される可能性が低くなります。

類似コマンドとしてtelnetがありますが、telnetコマンドによるログインは暗号化されておらず、平文で通信するため、よりセキュアなsshを使用することを推奨します。

sshのログイン方法はパスワード認証と鍵認証がありますが、鍵認証の方がキーとなる文字列が多いため、よりセキュアです。
パスワード認証は、ブルートフォース攻撃等で突破されてしまう危険性があるため、鍵認証でのログインを行い、パスワード認証を非許容に設定するとセキュリティが向上します。

sshの標準ポートは22ですが、22以外に設定することも可能です。
悪意ある第3者は基本的には標準ポートから設定変更していないサーバーを狙うことが予想できます。
22以外の任意のポートをsshのポートとして、悪意ある第3者からのログインを回避できる可能性が高まります。

まとめ

sshコマンドの概要と使い方を紹介しました。

sshコマンドは

  • 遠隔サーバーにログインできる
  • セキュアなログインができる
  • パスワード認証でログインできる
  • 鍵認証でログインできる

サーバーへのログインは、telnetコマンドでもログイン可能ですが、セキュリティ観点で、暗号化されたsshコマンドでのログインを推奨します。

  • URLをコピーしました!
目次