GNU/Linux >> Linux の 問題 >  >> Linux

19Linuxでの一般的なSSHコマンドと例

はじめに

SSH(Secure Shell)は、2つのシステム間の安全なリモート接続を可能にするネットワークプロトコルです。システム管理者は、SSHユーティリティを使用して、マシンを管理したり、システム間でファイルをコピーまたは移動したりします。 SSHは暗号化されたチャネルを介してデータを送信するため、セキュリティは高レベルです。

この記事では、最も一般的なSSHコマンドについて説明します。 。このリストは虎の巻としても使用でき、次にタスクを完了する必要があるときに役立ちます。

前提条件

  • SSHクライアント お好みの
  • SSHサーバー リモートマシン上
  • リモートサーバーのIPアドレスまたは名前

リモートサーバーにアクセスする方法

リモートマシンに接続するには、そのIPアドレスまたは名前が必要です。ターミナルまたはSSHクライアントをロードし、 sshと入力します 続いてIPアドレス:

ssh 192.168.56.101

または名前:

ssh test.server.com

初めてホストに接続すると、次のメッセージが表示されます:

はいと入力します Enterキーを押します。パスワードも入力する必要があるかもしれません。

SSH接続のユーザー名を指定

SSHは、リモートサーバーにアクセスするときに現在のユーザーを使用します。 SSH接続のユーザーを指定するには、次の形式でコマンドを実行します。

ssh [email protected]_or_ip

例:

ssh [email protected]

注: 「接続が拒否されました」エラーが発生した場合は、SSHの「接続が拒否されました」ガイドを参照して解決策を確認してください。

SSH接続に別のポート番号を使用する

デフォルトでは、SSHサーバーはポート22で接続をリッスンします。SSH構成ファイルのポート設定が変更されている場合は、ポートを指定する必要があります。そうしないと、次のエラーが発生します:


カスタムSSHポート番号を使用してリモートホストに接続するには、 -pを使用します 国旗。例:

ssh test.server.com -p 3322

SSHKeygenを使用してSSHキーを生成する

SSH接続のセキュリティを向上させるには、keygenユーティリティを使用してキーペアを生成します。このペアは、公開鍵と秘密鍵で構成されています。公開鍵は共有できますが、秘密鍵は安全に保つ必要があります。

SSHキーペアは、サーバーに対してクライアントを自動的に認証するために使用されます。 SSHキーペアを作成すると、サーバーにアクセスするためにパスワードを入力する必要がなくなります。

ホストマシンの端末で、次のコマンドを使用してキーペアを作成します。

ssh-keygen -t rsa

デフォルト設定を使用するには、ファイルの場所とパスフレーズのプロンプトでEnterキーを押します。

公開SSHキーのコピー

SSH認証にキーペアを使用するには、公開キーをサーバーにコピーする必要があります。キーはファイルid_rsa.pub です 以前はSSHkeygenユーティリティで作成されました。

キーをサーバーにコピーするには、クライアントから次のコマンドを実行します。

ssh-copy-id hostname_or_IP

現在のユーザーを使用したくない場合は、ユーザー名を指定することもできます。

求められたら認証するパスワードを入力します。この後、同じサーバーに接続するためにパスワードを使用する必要がなくなります。

SCPを使用してSSH経由でリモートでファイルをコピーする

SCP を使用して、SSHプロトコルを介してファイルを安全にコピーできます 道具。基本的な構文は次のとおりです。

scp fileName [email protected]:/home/username/destination

たとえば、ファイルをコピーするには sample3 ユーザー名testを使用してリモートサーバー上のデスクトップに 、次のように入力します:

scp sample3 [email protected]:/home/test/Desktop

出力には、操作の概要が表示されます。

必ず大文字を使用してください -P ポートを指定する必要がある場合はフラグを立てます。

SSH構成ファイルの編集

リモートユーザーがSSH経由でサーバーにアクセスする方法を制御できます。 sshd_configの設定を編集します SSHサーバーオプションをカスタマイズするためのファイル。使い慣れたオプションのみを編集してください。設定が不適切なため、サーバーにアクセスできなくなる可能性があります。

選択したエディターを使用してファイルを編集します。変更を加えるには、スーパーユーザーの権限が必要です。 Linuxでは、 vimを使用します :

リモートホストのコマンドラインで、次のように入力します。

sudo vim /etc/ssh/sshd_config

sudoパスワードを入力すると、シェルが使用したエディターでファイルを開きます。

SSHサービスを再開します

SSH構成を変更するときは、Linuxでサービスを再起動する必要があります。

Linuxディストリビューションに応じて、設定を変更したマシンで次のいずれかのコマンドを実行します。

sudo ssh service restart

または:

sudo sshd service restart

最後に、パスワードを入力してプロセスを完了します。その結果、次のSSHセッションは新しい設定を使用します。

基本的なSSHコマンド

SSHを使用してリモートサーバーで作業するには、基本的なSSHコマンドを知っている必要があります。この記事のコマンドとオプションを使用して、リモートホストを管理します。フラグを組み合わせて、必要な出力を取得できることに注意してください。

作業ディレクトリパスを表示

pwdを使用します ファイルシステムパスを表示するコマンド。

出力には、現在のディレクトリの場所が表示されます。

ファイルとディレクトリの一覧表示

ディレクトリの変更

現在の作業フォルダの内容を一覧表示するには、 lsを使用します コマンド。

シェルには、すべてのディレクトリ、ファイル、およびリンクの名前が表示されます。詳細情報を取得するには、次のフラグのいずれかを追加します。

  • -a 非表示のLinuxファイルとドッ​​トで始まるエントリを表示します。
  • -l <​​/ code> ディレクトリコンテンツのファイル詳細を表示します。たとえば、出力には権限、所有権、日付などが含まれます。
  • -s ファイルのサイズをブロック単位で一覧表示します。 -hを追加して、人間が読める形式でサイズを表示します。

特定のフォルダに移動するには、 cdを使用します コマンドとディレクトリの名前またはパス。

cd Desktop/Downloads/Sample

名前では大文字と小文字が区別されることに注意してください。 cdを使用する ユーザーのホームディレクトリに戻るための名前やパスがない。

便利なcd オプションは次のとおりです。

  • cd .. 現在の場所より1レベル上のディレクトリに移動します。
  • cd- 前のディレクトリに切り替えます。
  • cd / ルートディレクトリに移動します。

ファイルをコピーする

cpを使用します ファイルまたはディレクトリをコピーするコマンド。ファイルの名前とターゲットの場所を含める必要があります。

cp fileName /directory/path/destination

file1をコピーするには デスクトップから Dir1へ 、次のように入力します:

cp file1 Dir1

file1の名前を変更するには 別の宛先にコピーするときは、次の形式を使用してください:

cp file1 Dir1/Newfile1Name

このコマンドはfile1をコピーします Dir1へ 指定した名前で。

ディレクトリとその内容をコピーするには、次の形式で-rフラグを使用します。

cp -r Directory1 NewLocation

ファイルの移動

mv コマンドは、コピーコマンドと同じように機能します。

たとえば、ファイルを別の場所に移動するには、次のように入力します。

mv fileName directory/path/destination

ファイルを作成する

touchコマンドを使用すると、任意の拡張子の新しいファイルを作成できます。

ターミナルで、次のコマンドを入力します。

touch fileName

たとえば、 system.logを作成するには ファイル、次のように入力します:

touch system.log

ディレクトリを作成する

ディレクトリを作成するには、 mkdirを使用します 指図。新しいディレクトリ名またはフルパスを次の形式で入力します:

mkdir NewDirectoryName

または:

mkdir directory/path/NewDirectoryName

ファイルまたはディレクトリを削除する

Linuxファイルを削除するには、 rmを使用します この形式:

rm fileName

さらに、フルパスを入力できます:

rm /home/user/dir1/fileName

ディレクトリを削除する -rを追加します rmコマンドにフラグを立てます。

ネットワーク情報の表示

すべてのネットワークアダプタのステータスを表示するには、 ifconfigを使用します 指図。さらに、ifconfigでオプションを使用しない場合、出力にはアクティブなインターフェイスのみが表示されます。

ターミナル画面をクリアする

bash画面の現在の作業領域をクリアするには、 clearと入力します シェルで。このコマンドは、画面の一部をクリアします 前の出力を上にシフトします。

端末から出力を完全に削除するには、リセットを使用します コマンド。

ローカルコンピューターからリモートサーバーでコマンドを実行する

このメソッドは新しいシェルを作成しません。代わりに、コマンドを実行して、ユーザーをローカルプロンプトに戻します。この形式でファイルを作成したり、ファイルをコピーしたり、その他のSSHコマンドを実行したりできます。

ローカルマシンからリモートでコマンドを実行するには、SSHコマンドに命令を追加します。たとえば、ファイルを削除するには、次のように入力します。

ssh test.server.com rm ~/Desktop/Dir1/sample4

パスワードを入力すると、リモートサーバー上のファイルは新しいシェルを作成せずに削除されます。

SSHコマンドラインオプション

SSHツールには多くのオプションが付属しています パラメーター。次の表に、一般的なSSHオプションと対応する説明を示します。

SSHオプション 説明
-1 プロトコルバージョン1を使用するようにsshに指示します
-2 プロトコルバージョン2を使用するようにsshに指示します。
-4 IPv4アドレスのみを許可します。
-6 IPv6アドレスのみを許可します。
-A 認証エージェント接続の転送を有効にします。このオプションは注意して使用してください。
-a 認証エージェントの接続転送を無効にします。
-b bind_address 複数のアドレスを持つローカルホストでこのオプションを使用して、接続の送信元アドレスを設定します。
-C すべてのファイルのデータ圧縮を有効にします。低速接続でのみ使用されます。
-c cipher_spec 暗号仕様を選択するために使用します。値をコンマで区切ってリストします。
-E log_fileName 標準エラーではなく、デバッグログをlog_fileに添付します。
-f パスワードまたはパスフレーズを入力する前であっても、sshをバックグラウンドに送信します。
-g リモートホストがローカルマシンに転送されたポートに接続することを許可します。
-q sshをクワイエットモードで実行します。ほとんどのエラーまたは警告メッセージを抑制します。
-V sshツールのバージョンを表示して終了します。
-v ssh接続のデバッグメッセージを出力します。詳細モードは、構成の問題をトラブルシューティングするときに役立ちます。
-X このオプションを使用して、X11転送を有効にします。
-x X11転送を無効にします。

Linux
  1. LinuxでのJQコマンドと例

  2. LinuxでSFTPクライアントを操作する方法–10sftpコマンド

  3. 10 の例を含む最も単純な Linux コマンド

  1. ターミネーターを使用して複数のSSHセッションにコマンドを送信する

  2. Linuxのヘッドコマンドとテールコマンドを例で説明

  3. 例を含む10以上のLinuxVIコマンド

  1. LinuxでSSHを使用してパーソナルファイルサーバーを作成する方法

  2. 例を含むwcLinuxコマンド

  3. Linuxのソートコマンドと例