Linux

【Linux】sshコマンドの使い方を解説!リモートのサーバーを操作しよう

こんにちは、フルスタックエンジニアのryuです。

今回の記事は、Linuxのsshコマンドの使い方を解説します。sshコマンドは、リモートのサーバーを操作するためのコマンドです。sshコマンドを使うことで、sshサーバーへアクセスすることができます。sshの特徴は安全に遠隔操作をすることができます。sshは現在、よく使われるコマンドなので操作方法を覚えておきましょう。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

【Linux】sshコマンドの使い方を解説!リモートのサーバーを操作しよう

sshとは?

ssh(Secure Shell)とは、ネットワーク上で安全な通信を行うためのプロトコルです。

リモートマシンへのログインやファイルの転送に使用されます。

sshは、データの暗号化や認証の手段を提供し、セキュリティの高い通信を可能にします。sshコマンドは、sshサーバーへアクセスするためのコマンドです。今回はsshコマンドの使い方を詳しく解説します。

sshコマンドの基本的な使い方

sshコマンドの基本的な使い方は以下の通りです。

ssh [オプション] [ユーザ名]@[リモートのIPアドレスまたはドメイン名] [コマンド]

sshコマンドは、ssh接続するユーザー名とIPアドレスを指定します。

sshコマンドの具体例

例えば、userユーザーで192.168.1.1のサーバーにアクセスする場合は以下のように実行します。

ssh user@192.168.1.1

ユーザー名を省略することも可能です。この場合、rootユーザーとしてログインします。

ssh 192.168.1.1
→ ssh root@192.168.1.1と同じ

sshで相手サーバーでコマンドを実行する

sshコマンドの後ろにコマンドを指定すると、リモートサーバーでコマンドを実行することができます。

例えば、リモートサーバーのlsコマンドを実行する場合は、以下のように実行します。

ssh user@192.168.1.100 'ls'

コマンドを実行すると、192.168.1.100のリモートサーバーのlsコマンドの実行結果が返ってきます。

sshコマンドのオプション

sshコマンドのオプション一覧

sshコマンドのオプションの一覧は以下の通りです。

ション説明
-1プロトコルバージョン1を使用する
-2プロトコルバージョン2を使用する(デフォルト)
-4IPv4を使用する
-6IPv6を使用する
-A認証エージェントを転送する
-aローカルのポートとダイナミックなポートフォワーディングを無効にする
-C圧縮を有効にする
-c cipher_spec暗号化アルゴリズムを指定する
-D [ポート]ローカルのポートをダイナミックなフォワーディングのために使用する
-E log_fileログを指定したファイルに記録する
-e escape_charエスケープ文字を指定する
-F configfile設定ファイルを指定する
-gリモートのX11の接続を受け入れる
-i identity_file認証キーファイルを指定する
-J [user@]host[:port]ジャンプホストを指定する
-kホストキーのチェックを無効にする
-L [bind_address:]port:host:hostportローカルのポートフォワーディングを設定する
-l login_nameログイン名を指定する
-M制御マスターモードを有効にする
-m mac_specメッセージ認証コードアルゴリズムを指定する
-Nコマンドを実行しない(ポートフォワーディングのみ)
-o option設定オプションを指定する
-O ctl_cmd制御コマンドを実行する
-p port接続先のポートを指定する
-Q query_optionクエリオプションを実行する
-R [bind_address:]port:host:hostportリモートのポートフォワーディングを設定する
-S ctl_path制御ソケットの場所を指定する
-TTTYの割当を無効にする
-tTTYを割り当てる
-Vバージョン情報を表示する
-v詳細な出力を表示する
-W host:port標準入力および標準出力を結びつける
-w local_tun[:remote_tun]ネットワークトンネルを設定する
-XX11の転送を有効にする
-xX11の転送を無効にする
-Y信頼できるX11の転送を有効にする

ポートを指定してアクセスする

ポートを指定してsshサーバーにアクセスする場合は、”-p”オプションを指定します。

例えば、2222番ポートにアクセスする場合は、以下のように実行します。

ssh -p 2222 user@192.168.1.1

sshはセキュリティ上、ポート番号を変更していることがあります。そのような時は、”-p”オプションを使いましょう。

秘密鍵を使ってアクセス

秘密鍵を使ってアクセスする場合は、”-i”オプションを使用します。

ssh -i  ~/.ssh/id_rsa  user@192.168.1.1

上記の例では、~/.ssh/id_rsaの秘密鍵を使って、192.168.1.1のサーバーへアクセスしています。

ポートフォワーディング

SSHのポートフォワーディング(Port Forwarding)は、ローカルマシンとリモートサーバ間で特定のポートを転送する機能です。

ローカルマシンからリモートサーバを介して他のホストに接続することができます。

ポートフォワーディングを実行する場合は、”-L”オプションを使います。

ssh -L 8080:localhost:80 user@192.168.1.100

この例では、ローカルの8080番ポートをリモートのホストの80番ポートに転送します。つまり、ローカルマシンのブラウザで http://localhost:8080 にアクセスすると、リモートサーバのウェブサーバにアクセスすることになります。

sshサーバーの構築方法やscpコマンドの使い方など関連記事はこちらです。

sshコマンドの使い方まとめ

今回は、Linuxのsshコマンドの使い方を解説しました。sshコマンドはLinuxの運用をする方はよく使うコマンドなので、覚えておきましょう。

さらにLinuxのコマンドの学習をしたい人に向けて、InfraAcademyというインフラ学習サービスのご紹介です。

「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」

そのようなご要望にお応えして、Linuxやネットワークが学習できるサイト「InfraAcademy」をリリースしました!

InfraAcademyの特徴は以下の通り。

  • Linuxやネットワークの知識が体系的に学べる
  • LINEやZoomでエンジニアに質問可能
  • 全ての講座が閲覧できて、1,980円
  • 購入から1週間以内であれば全額返金

Linuxの参考書を購入すると、3,000円以上するものもあります。InfraAcademyでは、1,980円でコンテンツ見放題で現役エンジニアに質問できるサービスまで付いています。

また、購入から1週間以内であれば全額返金保証もあるので安心です。

InfraAcademyでは、一部のコンテンツは無料で閲覧できるので、興味のある方はお試しください。

InfraAcademyでLinuxの学習を始める

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST