これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドsshです。
プログラム:
NAME
ssh — OpenSSH SSHクライアント(リモートログインプログラム)
SYNOPSIS
ssh [-1246AaCfGgKkMNnqsTtVvXxyy] [-b バインドアドレス] [-c 暗号仕様] [-D [バインドアドレス:]ポート]
[-E ログファイル] [-e エスケープ文字] [-F 構成ファイル] [-I pkcs11] [-i Identity_file]
[-L 住所] [-l ログイン名] [-m mac_spec] [-O ctl_cmd] [-o オプション] [-p ポート]
[-Q クエリオプション] [-R 住所] [-S ctl_path] [-W host:ポート] [-w local_tun[:リモートtun]]
[user@]hostname [ command]
DESCRIPTION
ssh (SSHクライアント)は、リモートマシンにログインしてコマンドを実行するためのプログラムです。
リモートマシン上。 これは、XNUMXつの間の安全な暗号化通信を提供することを目的としています
安全でないネットワーク上の信頼できないホスト。 X11接続、任意のTCPポート、および
UNIXドメインソケットは、セキュリティで保護されたチャネルを介して転送することもできます。
ssh 接続して、指定されたものにログインします hostname (オプションで user 名前)。 ユーザーは
いくつかの方法のいずれかを使用して、リモートマシンに自分の身元を証明します(以下を参照)。
If command が指定されている場合、ログインシェルではなくリモートホストで実行されます。
オプションは以下のとおりです。
-1 軍隊 ssh プロトコルバージョン1のみを試してください。
-2 軍隊 ssh プロトコルバージョン2のみを試してください。
-4 軍隊 ssh IPv4アドレスのみを使用します。
-6 軍隊 ssh IPv6アドレスのみを使用します。
-A 認証エージェント接続の転送を有効にします。 これも可能です
構成ファイルでホストごとに指定されます。
エージェント転送は注意して有効にする必要があります。 バイパスする機能を持つユーザー
リモートホスト(エージェントのUNIXドメインソケット用)のファイル権限はアクセスできます
転送された接続を介したローカルエージェント。 攻撃者はキーを取得できません
エージェントからの資料。ただし、エージェントは、次のことを可能にするキーに対して操作を実行できます。
それらは、エージェントにロードされたIDを使用して認証します。
-a 認証エージェント接続の転送を無効にします。
-b バインドアドレス
バインドアドレス 接続の送信元アドレスとしてローカルマシン上にあります。 それだけ
複数のアドレスを持つシステムで役立ちます。
-C すべてのデータ(stdin、stdout、stderr、および
転送されたX11、TCPおよびUNIXドメイン接続)。 圧縮アルゴリズムは
によって使用されるのと同じ gzip(1)、および「レベル」は、 圧縮レベル
プロトコルバージョン1のオプション。モデム回線などでは圧縮が望ましい
接続は遅くなりますが、高速ネットワークでは速度が低下するだけです。 デフォルト
値は、構成ファイルでホストごとに設定できます。 を参照してください
圧縮 オプションを選択します。
-c 暗号仕様
セッションを暗号化するための暗号仕様を選択します。
プロトコルバージョン1では、単一の暗号を指定できます。 サポートされている値
「3des」、「blowfish」、「des」です。 プロトコルバージョン2の場合 暗号仕様 カンマです-
優先順にリストされた暗号の分離リスト。 を参照してください 暗号 のキーワード
ssh_config(5)詳細については。
-D [バインドアドレス:]ポート
ローカルの「動的」アプリケーションレベルのポート転送を指定します。 これはによって動作します
聞くためのソケットの割り当て ポート ローカル側で、オプションでバインドされます
指定の バインドアドレス。 このポートに接続するたびに、接続
はセキュリティで保護されたチャネルを介して転送され、アプリケーションプロトコルは次の目的で使用されます。
リモートマシンから接続する場所を決定します。 現在、SOCKS4と
SOCKS5プロトコルがサポートされており、 ssh SOCKSサーバーとして機能します。 ルートのみができます
特権ポートを転送します。 動的ポート転送は、
設定ファイル
IPv6アドレスは、アドレスを角かっこで囲むことで指定できます。 それだけ
スーパーユーザーは特権ポートを転送できます。 デフォルトでは、ローカルポートはバインドされています
に従って ゲートウェイポート 設定。 ただし、明示的な バインドアドレス 多分
接続を特定のアドレスにバインドするために使用されます。 The バインドアドレス 「localhost」の
リスニングポートがローカル使用のみにバインドされ、空の場合は
アドレスまたは「*」は、ポートがすべてのインターフェースから使用可能であることを示します。
-E ログファイル
デバッグログをに追加する ログファイル 標準エラーの代わりに。
-e エスケープ文字
ptyを使用するセッションのエスケープ文字を設定します(デフォルト: '〜')。 脱出
文字は行頭でのみ認識されます。 エスケープ文字
ドット( '。')が後に続くと、接続が閉じます。 続いてcontrol-Zは一時停止します
繋がり; その後、それ自体がエスケープ文字をXNUMX回送信します。 の設定
文字を「none」にすると、エスケープが無効になり、セッションが完全に透過的になります。
-F 構成ファイル
代替のユーザーごとの構成ファイルを指定します。 構成ファイルが
コマンドラインで指定された、システム全体の構成ファイル(/ etc / ssh / ssh_config)
無視されます。 ユーザーごとの構成ファイルのデフォルトは 〜/ .ssh / config.
-f つながり申請 ssh コマンド実行の直前にバックグラウンドに移動します。 これは、次の場合に役立ちます
ssh パスワードまたはパスフレーズを要求しますが、ユーザーはそれを
バックグラウンド。 これは、 -n。 リモートでX11プログラムを起動するための推奨される方法
サイトは次のようなものです ssh -f host xterm.
Status ExitOnForwardFailure 構成オプションが「yes」に設定されている場合、クライアント
〜で始まった -f すべてのリモートポート転送が正常に行われるのを待ちます
バックグラウンドに配置する前に確立されます。
-G 目的 ssh 評価後に構成を印刷する 主催者 一致 ブロックと
出口。
-g リモートホストがローカル転送ポートに接続できるようにします。 多重化で使用する場合
接続の場合、このオプションはマスタープロセスで指定する必要があります。
-I pkcs11
PKCS#11共有ライブラリを指定します ssh PKCS#11との通信に使用する必要があります
ユーザーの秘密RSAキーを提供するトークン。
-i Identity_file
公開鍵認証用のID(秘密鍵)の元となるファイルを選択します
読み取られます。 デフォルトは 〜/ .ssh / identity プロトコルバージョン1の場合、および 〜/ .ssh / id_dsa,
〜/ .ssh / id_ecdsa, 〜/ .ssh / id_ed25519 〜/ .ssh / id_rsa プロトコルバージョン2の場合。
IDファイルは、構成ファイルでホストごとに指定することもできます。
複数持つことが可能です -i オプション(およびで指定された複数のID
構成ファイル)。 証明書が明示的に指定されていない場合
証明書ファイル ディレクティブは、 ssh また、から証明書情報をロードしようとします
追加して取得したファイル名 -cert.pub ファイル名を識別します。
-K GSSAPIベースの認証とGSSAPIの転送(委任)を有効にします
サーバーへのクレデンシャル。
-k サーバーへのGSSAPIクレデンシャルの転送(委任)を無効にします。
-L [バインドアドレス:]ポート:host:ホストポート
-L [バインドアドレス:]ポート:リモートソケット
-L ローカルソケット:host:ホストポート
-L ローカルソケット:リモートソケット
ローカル上の特定のTCPポートまたはUnixソケットへの接続を指定します
(クライアント)ホストは、指定されたホストとポート、またはUnixソケットに転送されます。
リモート側。 これは、TCPのいずれかをリッスンするようにソケットを割り当てることで機能します ポート on
ローカル側、オプションで指定されたものにバインド バインドアドレス、またはUnixソケットに。
ローカルポートまたはソケットに接続するときはいつでも、接続は
安全なチャネルを介して転送され、いずれかに接続されます host ポート
ホストポート、またはUnixソケット リモートソケット、リモートマシンから。
ポート転送は、構成ファイルで指定することもできます。 のみ
スーパーユーザーは特権ポートを転送できます。 IPv6アドレスは次の方法で指定できます
アドレスを角かっこで囲みます。
デフォルトでは、ローカルポートは ゲートウェイポート 設定。
ただし、明示的な バインドアドレス 接続を特定のものにバインドするために使用できます
住所。 の バインドアドレス 「localhost」のは、リスニングポートがバインドされていることを示します
ローカルでの使用のみ。空のアドレスまたは「*」は、ポートが
すべてのインターフェースから利用できます。
-l ログイン名
リモートマシンでログインするユーザーを指定します。 これも指定できます
構成ファイル内のホストごとに。
-M を配置します ssh クライアントを接続共有の「マスター」モードにします。 多数 -M
オプションの場所 ssh スレーブの前に確認が必要な「マスター」モードに移行します
接続が受け入れられます。 の説明を参照してください コントロールマスター in
ssh_config詳細は(5)。
-m mac_spec
MAC(メッセージ認証コード)アルゴリズムのコンマ区切りリスト。
優先順位。 を参照してください MACは 詳細については、キーワードを参照してください。
-N リモートコマンドを実行しないでください。 これは、ポートを転送するだけの場合に便利です。
-n stdinをからリダイレクトします / dev / null (実際には、stdinからの読み取りを防ぎます)。 これはしなければならない
次の場合に使用します ssh バックグラウンドで実行されます。 一般的なトリックは、これを使用してX11を実行することです。
リモートマシン上のプログラム。 例えば、 ssh -n 影.cs.hut.fi エマックス & 意志
shadows.cs.hut.fiでemacsを開始すると、X11接続が自動的に行われます
暗号化されたチャネルを介して転送されます。 The ssh プログラムはバックグラウンドで配置されます。
(これは次の場合は機能しません ssh パスワードまたはパスフレーズを要求する必要があります。 も参照してください
-f オプション。)
-O ctl_cmd
アクティブな接続多重化マスタープロセスを制御します。 いつ -O オプションがある
指定、 ctl_cmd 引数は解釈され、マスタープロセスに渡されます。
有効なコマンドは次のとおりです。「チェック」(マスタープロセスが実行されていることを確認)、「転送」
(コマンドを実行せずに転送を要求する)、「キャンセル」(転送をキャンセルする)、
「終了」(マスターに終了を要求)、および「停止」(マスターに停止を要求)
さらに多重化要求を受け入れる)。
-o オプション
構成ファイルで使用される形式でオプションを提供するために使用できます。 これは
個別のコマンドラインフラグがないオプションを指定するのに役立ちます。 にとって
以下にリストされているオプションの完全な詳細、およびそれらの可能な値については、を参照してください。
ssh_configとします。
エージェントにキーを追加
住所家族
バッチモード
バインドアドレス
正規ドメイン
CanonicalizeFallbackLocal
ホスト名を正規化する
CanonicalizeMaxDots
CanonicalizePermittedCNAME
証明書ファイル
チャレンジレスポンス認証
ホストIPの確認
暗号
暗号
すべての転送をクリア
圧縮
圧縮レベル
接続試行回数
接続タイムアウト
コントロールマスター
コントロールパス
ControlPersist
ダイナミックフォワード
エスケープチャー
ExitOnForwardFailure
指紋ハッシュ
フォワードエージェント
フォワードX11
ForwardX11タイムアウト
フォワードX11信頼できる
ゲートウェイポート
GlobalKnownHostsファイル
GSSAPI認証
GSSAPIDelegate資格情報
ハッシュ既知のホスト
主催者
ホストベースの認証
ホストベースのキータイプ
ホストキーアルゴリズム
ホストキーエイリアス
ホスト名
アイデンティティファイル
アイデンティティのみ
IPQoS
Kbdインタラクティブ認証
KbdInteractiveDevices
Kexアルゴリズム
ローカルコマンド
ローカルフォワード
ログレベル
MACは
一致
ローカルホストのホスト認証なし
パスワードプロンプトの数
パスワード認証
Permitローカルコマンド
PKCS11プロバイダー
ポート
優先認証
プロトコル
プロキシコマンド
ProxyUseFdpass
PubkeyAcceptedKeyTypes
公開鍵認証
RekeyLimit
リモートフォワード
リクエストTTY
RhostsRSA認証
RSA認証
送信環境
ServerAliveInterval
ServerAliveCountMax
StreamLocalBindMask
ストリームローカルバインドアンリンク
厳密なホストキーチェック
TCPキープアライブ
トンネル
トンネルデバイス
ホストキーの更新
特権ポートを使用する
ユーザー
ユーザー既知のホストファイル
VerificationHostKeyDNS
VisualHostKey
XAuthLocation
-p ポート
リモートホストで接続するポート。 これは、ホストごとに指定できます。
構成ファイル。
-Q クエリオプション
クエリ ssh 指定されたバージョン2でサポートされているアルゴリズムの場合。
機能は次のとおりです。 暗号 (サポートされている対称暗号)、 暗号認証 (対称をサポート
認証付き暗号化をサポートする暗号)、 MAC (サポートされているメッセージの整合性
コード)、 kex (鍵交換アルゴリズム)、 キー (キータイプ)、 キー証明書 (証明書キー
タイプ)、 キープレーン (非証明書キータイプ)、および プロトコルバージョン (サポートされているSSH
プロトコルバージョン)。
-q 静かなモード。 ほとんどの警告および診断メッセージが抑制されます。
-R [バインドアドレス:]ポート:host:ホストポート
-R [バインドアドレス:]ポート:ローカルソケット
-R リモートソケット:host:ホストポート
-R リモートソケット:ローカルソケット
リモート上の特定のTCPポートまたはUnixソケットへの接続を指定します
(サーバー)ホストは、指定されたホストとポート、またはUnixソケットに転送されます。
ローカル側。 これは、TCPのいずれかをリッスンするようにソケットを割り当てることで機能します ポート またはへ
リモート側のUnixソケット。 このポートに接続が確立されたとき、または
Unixソケット、接続はセキュリティで保護されたチャネルを介して転送され、接続
どちらかに作られています host ポート ホストポートまたは ローカルソケット、ローカルマシンから。
ポート転送は、構成ファイルで指定することもできます。 特権ポート
リモートマシンにrootとしてログインしている場合にのみ転送できます。 IPv6アドレス
アドレスを角かっこで囲むことで指定できます。
デフォルトでは、サーバー上のTCPリスニングソケットはループバックにバインドされます
インターフェイスのみ。 これは、を指定することで上書きできます バインドアドレス。 空っぽ
バインドアドレス、またはアドレス '*'は、リモートソケットがリッスンする必要があることを示します
すべてのインターフェース。 リモコンの指定 バインドアドレス サーバーの場合にのみ成功します
ゲートウェイポート オプションが有効になっています(を参照) sshd_config(5))。
Status ポート 引数が「0」の場合、リッスンポートは動的に割り当てられます
サーバーであり、実行時にクライアントに報告されます。 一緒に使用した場合 -O フォワード
割り当てられたポートは標準出力に出力されます。
-S ctl_path
接続の共有用の制御ソケットの場所、または文字列を指定します
「なし」は、接続の共有を無効にします。 の説明を参照してください コントロールパス
コントロールマスター in ssh_config詳細は(5)。
-s リモートシステム上のサブシステムの呼び出しを要求するために使用できます。 サブシステム
他のアプリケーションの安全なトランスポートとしてのSSHの使用を容易にします(例:
SFTP(1))。 サブシステムはリモートコマンドとして指定されます。
-T 疑似端末の割り当てを無効にします。
-t 疑似端末の割り当てを強制します。 これは、任意の画面を実行するために使用できます-
リモートマシン上のベースのプログラム。これは、たとえば実装時に非常に役立ちます。
メニューサービス。 多数 -t オプションは、たとえ ssh ローカルはありません
tty。
-V バージョン番号を表示して終了します。
-v 冗長モード。 原因 ssh 進行状況に関するデバッグメッセージを出力します。 これは
接続、認証、および構成の問題のデバッグに役立ちます。
複数 -v オプションは冗長性を高めます。 最大は3です。
-W host:ポート
クライアントの標準入出力をに転送するように要求します host on ポート
安全なチャネルを介して。 示す -N, -T, ExitOnForwardFailure
すべての転送をクリア.
-w local_tun[:リモートtun]
指定されたトンネルデバイス転送を要求します やります(4)間のデバイス
クライアント (local_tun)とサーバー(リモートtun).
デバイスは、数値IDまたはキーワード「any」で指定できます。
次に利用可能なトンネルデバイス。 もしも リモートtun 指定しない場合、デフォルトで「any」になります。
参照してください トンネル トンネルデバイス のディレクティブ ssh_config(5)。 の場合 トンネル
ディレクティブは設定されておらず、デフォルトのトンネルモードである「ポイントツーポイント」に設定されています。
-X X11転送を有効にします。 これは、ホストごとに指定することもできます。
設定ファイル
X11転送は注意して有効にする必要があります。 バイパスする機能を持つユーザー
リモートホスト(ユーザーのX認証データベース用)のファイル権限は、
転送された接続を介してローカルX11ディスプレイにアクセスします。 その後、攻撃者は
キーストロークの監視などのアクティビティを実行できる。
このため、X11転送にはX11SECURITY拡張制限が適用されます。
デフォルトでは。 を参照してください ssh -Y オプションと フォワードX11信頼できる 指令
in ssh_config(5)詳細については。
(Debian固有:X11転送はX11SECURITY拡張の対象ではありません
現在このモードでクラッシュするプログラムが多すぎるため、デフォルトでは制限があります。
をセットする フォワードX11信頼できる 上流の動作を復元するには、「いいえ」のオプション。 この
クライアント側の改善により、将来変更される可能性があります。)
-x X11転送を無効にします。
-Y 信頼できるX11転送を有効にします。 信頼できるX11転送は、
X11SECURITY拡張コントロール。
(Debian固有:このオプションはデフォルト設定では何もしません:それは
に相当 "フォワードX11信頼できる はい」。これは、上記のデフォルトです。 セットする
フォワードX11信頼できる 上流の動作を復元するには、「いいえ」のオプション。 これはかもしれません
将来的には、クライアント側の改善に応じて変更されます。)
-y を使用してログ情報を送信します syslog(3)システムモジュール。 デフォルトでは、この情報
stderrに送信されます。
ssh さらに、ユーザーごとの構成ファイルから構成データを取得する場合があります。
システム全体の構成ファイル。 ファイル形式と構成オプションについては、
ssh_configとします。
認証
OpenSSH SSHクライアントはSSHプロトコル1および2をサポートします。デフォルトでは、プロトコル2を使用します。
のみ、これはを介して変更することができますが プロトコル 内のオプション ssh_config(5)または -1 -2
オプション(上記を参照)。 プロトコル1は使用しないでください。これは、レガシーをサポートするためにのみ提供されます。
デバイス。 それは多くの暗号化の弱点に悩まされており、多くをサポートしていません
プロトコル2で利用可能な高度な機能。
認証に使用できる方法は次のとおりです。GSSAPIベースの認証、ホストベース
認証、公開鍵認証、チャレンジ/レスポンス認証、およびパスワード
認証。 ただし、認証方法は上記の順序で試行されます。
優先認証 デフォルトの順序を変更するために使用できます。
ホストベースの認証は次のように機能します。ユーザーがログインするマシンがリストされている場合
in /etc/hosts.equiv or /etc/ssh/shosts.equiv リモートマシン上で、ユーザー名は
両側で同じ、またはファイルの場合 〜/ .rhosts or 〜/ .shosts ユーザーの家に存在する
リモートマシン上のディレクトリであり、クライアントマシンの名前を含む行が含まれています
そのマシン上のユーザーの名前、ユーザーはログインの対象と見なされます。 さらに、
サーバー しなければなりません クライアントのホストキーを確認できる(の説明を参照)
/ etc / ssh / ssh_known_hosts 〜/ .ssh / known_hosts、以下)ログインが許可されます。 この
認証方法は、IPスプーフィング、DNSスプーフィング、およびルーティングによるセキュリティホールを閉じます
なりすまし。 [管理者への注意: /etc/hosts.equiv, 〜/ .rhosts、およびrlogin / rsh
一般に、プロトコルは本質的に安全ではないため、セキュリティが必要な場合は無効にする必要があります。]
公開鍵認証は次のように機能します。このスキームは公開鍵暗号に基づいています。
暗号化と復号化が別々のキーを使用して行われる暗号システムを使用し、それは
暗号化キーから復号化キーを取得することはできません。 アイデアは、各ユーザーが
認証のために公開鍵と秘密鍵のペアを作成します。 サーバーは公衆を知っています
キーであり、ユーザーだけが秘密キーを知っています。 ssh 公開鍵認証を実装します
DSA、ECDSA、Ed25519、またはRSAアルゴリズムのいずれかを使用して自動的にプロトコルを作成します。 歴史
のセクション SSL(8)(OpenBSD以外のシステムでは、を参照してください。
http://www.openbsd.org/cgi-bin/man.cgi?query = ssl&sektion = 8#HISTORY)には簡単な説明が含まれています
DSAおよびRSAアルゴリズムの説明。
ファイル ~/.ssh/authorized_keys ログインが許可されている公開鍵を一覧表示します。
ユーザーがログインすると、 ssh プログラムは、使用するキーペアをサーバーに通知します
認証用。 クライアントは、秘密鍵とサーバーにアクセスできることを証明します
対応する公開鍵がアカウントの受け入れを許可されていることを確認します。
ユーザーは、を実行して自分のキーペアを作成します ssh-keygen(1)。 これにより、秘密鍵が
〜/ .ssh / identity (プロトコル1)、 〜/ .ssh / id_dsa (DSA)、 〜/ .ssh / id_ecdsa (ECDSA)、
〜/ .ssh / id_ed25519 (Ed25519)、または 〜/ .ssh / id_rsa (RSA)および公開鍵を
〜/ .ssh / entity.pub (プロトコル1)、 〜/ .ssh / id_dsa.pub (DSA)、 〜/ .ssh / id_ecdsa.pub (ECDSA)、
〜/ .ssh / id_ed25519.pub (Ed25519)、または 〜/ .ssh / id_rsa.pub (RSA)ユーザーのホームディレクトリ。
次に、ユーザーは公開鍵をにコピーする必要があります ~/.ssh/authorized_keys 彼/彼女のホームディレクトリ
リモートマシン上。 The 認可されたキー ファイルは従来のものに対応します 〜/ .rhosts
ファイルであり、行ごとにXNUMXつのキーがありますが、行は非常に長くなる可能性があります。 この後、ユーザーは
パスワードを入力せずにログインします。
公開鍵認証のバリエーションは、証明書の形式で利用できます
認証:公開/秘密鍵のセットの代わりに、署名された証明書が使用されます。 この
多くの代わりに単一の信頼できる認証局を使用できるという利点があります
公開鍵/秘密鍵。 の証明書セクションを参照してください ssh-keygen(1)詳細については。
公開鍵または証明書認証を使用する最も便利な方法は、
認証エージェント。 見る ssh-agent(1)および(オプションで) エージェントにキーを追加 の指令
ssh_config(5)詳細については。
チャレンジレスポンス認証は次のように機能します。サーバーは任意のメッセージを送信します
「チャレンジ」テキスト、および応答のプロンプト。 チャレンジレスポンス認証の例
BSD認証を含める(を参照) ログイン.conf(5))およびPAM(一部の非OpenBSDシステム)。
最後に、他の認証方法が失敗した場合、 ssh ユーザーにパスワードの入力を求めます。 The
パスワードはチェックのためにリモートホストに送信されます。 ただし、すべての通信は
暗号化されているため、ネットワークでリッスンしている人にはパスワードが表示されません。
ssh すべてのホストのIDを含むデータベースを自動的に維持およびチェックします
で使用されたことがあります。 ホストキーはに保存されます 〜/ .ssh / known_hosts ユーザーの家で
ディレクトリ。 さらに、ファイル / etc / ssh / ssh_known_hosts 自動的にチェックされます
既知のホスト。 新しいホストはすべて、ユーザーのファイルに自動的に追加されます。 ホストの場合
識別は常に変化します、 ssh これについて警告し、パスワード認証を無効にします
サーバーのなりすましや中間者攻撃を防止します。
暗号化を回避します。 The 厳密なホストキーチェック オプションを使用してログインを制御できます
ホストキーが不明または変更されたマシン。
ユーザーのIDがサーバーによって受け入れられると、サーバーは次のいずれかを実行します。
非対話型セッションで指定されたコマンド、またはコマンドが指定されていない場合は、ログインします
マシンとインタラクティブセッションとしてユーザーに通常のシェルを提供します。 すべてのコミュニケーション
リモートコマンドまたはシェルを使用すると、自動的に暗号化されます。
インタラクティブセッションが要求された場合 ssh デフォルトでは、疑似端末のみを要求します
(pty)クライアントがインタラクティブセッションを持っている場合。 フラグ -T -t に使用することができます
この動作をオーバーライドします。
疑似端末が割り当てられている場合、ユーザーは以下に示すエスケープ文字を使用できます。
疑似端末が割り当てられていない場合、セッションは透過的であり、次の目的で使用できます。
バイナリデータを確実に転送します。 ほとんどのシステムでは、エスケープ文字を「none」に設定すると、
また、ttyが使用されている場合でも、セッションを透過的にします。
リモートマシン上のコマンドまたはシェルが終了し、すべてのX11および
TCP接続が閉じられました。
エスケープ キャラクター
疑似端末が要求された場合、 ssh を通じて多くの機能をサポートします
エスケープ文字の使用。
単一のチルダ文字を次のように送信できます ~~ または他のキャラクターがチルダをフォローする
以下に説明するものよりも。 エスケープ文字は、常に改行に従う必要があります
特別と解釈されます。 エスケープ文字は、構成ファイルで次を使用して変更できます
エスケープチャー 構成ディレクティブまたはコマンドラインで -e オプションを選択します。
サポートされているエスケープ(デフォルトの「〜」を想定)は次のとおりです。
~. 切断します。
〜^ Z 経歴 ssh.
~# 転送された接続を一覧表示します。
~& 経歴 ssh 転送された接続/ X11セッションを待機しているときのログアウト時
終了します。
~? エスケープ文字のリストを表示します。
~B リモートシステムにBREAKを送信します(ピアがそれをサポートしている場合にのみ役立ちます)。
~C コマンドラインを開きます。 現在、これにより、を使用してポート転送を追加できます。
-L, -R -D オプション(上記を参照)。 また、既存のキャンセルを可能にします
とのポートフォワーディング -KL[バインドアドレス:]ポート ローカルの場合、 -KR[バインドアドレス:]ポート の
リモートおよび -K D[バインドアドレス:]ポート 動的ポートフォワーディング用。 ! command ことができます
ユーザーがローカルコマンドを実行する場合 Permitローカルコマンド でオプションが有効になっています
ssh_config(5)。 基本的なヘルプは、を使用して利用できます -h オプションを選択します。
~R 接続のキーの再生成を要求します(ピアが接続をサポートしている場合にのみ役立ちます)。
~V 冗長性を減らす(ログレベル)エラーがstderrに書き込まれているとき。
~v 冗長性を高める(ログレベル)エラーがstderrに書き込まれているとき。
TCP フォワーディング
安全なチャネルを介した任意のTCP接続の転送は、次のいずれかで指定できます。
コマンドラインまたは構成ファイル。 TCP転送のXNUMXつの可能なアプリケーションは次のとおりです。
メールサーバーへの安全な接続。 もうXNUMXつはファイアウォールを通過しています。
以下の例では、IRCクライアントとサーバー間の通信の暗号化について説明します。
IRCサーバーは暗号化された通信を直接サポートしていませんが。 これは動作します
次のように:ユーザーはを使用してリモートホストに接続します ssh、使用するポートを指定する
接続をリモートサーバーに転送します。 その後、サービスを開始することが可能です
これは、クライアントマシンで暗号化され、同じローカルポートに接続され、 ssh
接続を暗号化して転送します。
次の例では、IRCセッションをクライアントマシン「127.0.0.1」(ローカルホスト)からにトンネリングします。
リモートサーバー「server.example.com」:
$ ssh -f -L 1234:localhost:6667 server.example.com sleep 10
$ irc -c '#users' -p 1234 pinky 127.0.0.1
これにより、IRCサーバー「server.example.com」への接続がトンネリングされ、チャネル「#users」に参加します。
ニックネーム「pinky」、ポート1234を使用。使用されているポートがあれば、どのポートを使用してもかまいません。
1023より大きく(rootのみが特権ポートでソケットを開くことができることを忘れないでください)、
すでに使用されているポートと競合します。 接続は、上のポート6667に転送されます。
リモートサーバー。これがIRCサービスの標準ポートだからです。
当学校区の -f オプションの背景 ssh リモートコマンド「sleep10」は、
トンネリングされるサービスを開始するための時間(この例では10秒)。
指定された時間内に接続が確立されない場合、 ssh 終了します。
X11 フォワーディング
Status フォワードX11 変数が「yes」に設定されている(または、 -X, -x, -Y
上記のオプション)、ユーザーがX11(DISPLAY環境変数が設定されている)を使用している場合、
X11ディスプレイへの接続は、このような方法でリモート側に自動的に転送されます
シェル(またはコマンド)から開始されたX11プログラムは、暗号化されたものを通過します
チャネル、および実際のXサーバーへの接続はローカルマシンから行われます。 The
ユーザーは手動でDISPLAYを設定しないでください。 X11接続の転送はで構成できます
コマンドラインまたは構成ファイル。
によって設定されたDISPLAY値 ssh サーバーマシンを指しますが、表示番号が付いています
ゼロより大きい。 これは正常であり、次の理由で発生します ssh に「プロキシ」Xサーバーを作成します
暗号化されたチャネルを介して接続を転送するためのサーバーマシン。
ssh また、サーバーマシンにXauthorityデータを自動的に設定します。 この目的のために、
ランダムな認証Cookieを生成し、サーバーのXauthorityに保存します。
転送された接続がこのCookieを保持していることを確認し、実際のCookieに置き換えます
接続が開かれたとき。 実際の認証Cookieがサーバーに送信されることはありません
マシン(そしてCookieはプレーンに送信されません)。
Status フォワードエージェント 変数が「yes」に設定されている(または、 -A -a
上記のオプション)およびユーザーが認証エージェントを使用している場合、エージェントへの接続は
自動的にリモート側に転送されます。
確認中 主催者 キー
初めてサーバーに接続するとき、サーバーの公開鍵のフィンガープリントは
ユーザーに提示(オプションを除く) 厳密なホストキーチェック 無効化されました)。
指紋は、を使用して決定できます ssh-keygen(1):
$ ssh-keygen -l -f / etc / ssh / ssh_host_rsa_key
指紋がすでにわかっている場合は、それを照合してキーを受け入れるか、
拒否されました。 サーバーのレガシー(MD5)フィンガープリントのみが使用可能な場合、 ssh-keygen(1)
-E オプションを使用して、指紋アルゴリズムをダウングレードして一致させることができます。
指紋文字列を見るだけではホストキーを比較するのが難しいため、
を使用して、ホストキーを視覚的に比較するサポートもあります ランダム アート。 を設定することにより
VisualHostKey 「はい」のオプションを選択すると、ログインするたびに小さなASCIIグラフィックが表示されます。
セッション自体がインタラクティブであるかどうかに関係なく、サーバー。 パターンを学ぶことによって
既知のサーバーが生成する場合、ユーザーは、次の場合にホストキーが変更されたことを簡単に見つけることができます。
全く違うパターンが表示されます。 これらのパターンは明確ではないため
ただし、記憶されているパターンに似ているパターンは、良い結果をもたらすだけです。
ホストキーが同じである確率。保証された証拠ではありません。
既知のすべてのホストの指紋とランダムアートのリストを取得するには、
次のコマンドラインを使用できます。
$ ssh-keygen -lv -f 〜/ .ssh / known_hosts
指紋が不明な場合は、別の検証方法を利用できます:SSH
DNSによって検証された指紋。 追加のリソースレコード(RR)、SSHFPがに追加されます
ゾーンファイルと接続しているクライアントは、指紋をキーの指紋と一致させることができます
提示された。
この例では、クライアントをサーバー「host.example.com」に接続しています。 SSHFP
リソースレコードは、最初にhost.example.comのゾーンファイルに追加する必要があります。
$ ssh-keygen -rhost.example.com。
出力行をゾーンファイルに追加する必要があります。 ゾーンが応答していることを確認するには
指紋クエリ:
$ dig -t SSHFP host.example.com
最後に、クライアントは接続します。
$ ssh -o "VerifyHostKeyDNS ask" host.example.com
[...]
DNSで見つかった一致するホストキーのフィンガープリント。
接続し続けますか?(はい/いいえ)?
ジョブの設定方法については、 VerificationHostKeyDNS 内のオプション ssh_config(5)詳細については。
SSHベース バーチャル PRIVATE NETWORKS
ssh を使用した仮想プライベートネットワーク(VPN)トンネリングのサポートが含まれています やります(4)ネットワーク
疑似デバイス。XNUMXつのネットワークを安全に結合できます。 ザ sshd_config(5)
構成オプション 許可トンネル サーバーがこれをサポートするかどうか、および何でサポートするかを制御します
レベル(レイヤー2または3トラフィック)。
次の例では、クライアントネットワーク10.0.50.0/24をリモートネットワークに接続します
10.0.99.0から24へのポイントツーポイント接続を使用する10.1.1.1/10.1.1.2。
リモートネットワークへのゲートウェイ(192.168.1.15)で実行されているSSHサーバーがそれを許可します。
クライアント上:
#ssh -f -w 0:1 192.168.1.15 true
#ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252
#route add 10.0.99.0/24 10.1.1.2
サーバー上:
#ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252
#route add 10.0.50.0/24 10.1.1.1
クライアントアクセスは、 /root/.ssh/authorized_keys ファイル(以下を参照)
と AllowRootLogin サーバーオプション。 次のエントリは、上の接続を許可します
やります(4)ユーザー「jane」からのデバイス1およびユーザー「john」からのtunデバイス2( AllowRootLogin is
「forced-commands-only」に設定:
tunnel = "1"、command = "sh / etc / netstart tun1" ssh-rsa ... jane
tunnel = "2"、command = "sh / etc / netstart tun2" ssh-rsa ... john
SSHベースのセットアップにはかなりのオーバーヘッドが伴うため、
ワイヤレスVPNなどの一時的なセットアップ。 より永続的なVPNは、
などのツール ipsecctl(8)と isakmpdとします。
ENVIRONMENT
ssh 通常、次の環境変数を設定します。
DISPLAY DISPLAY変数は、X11サーバーの場所を示します。 です
によって自動的に設定されます ssh 「hostname:n」の形式の値を指すには、
ここで、「hostname」はシェルが実行されるホストを示し、「n」は
1以上の整数。 ssh この特別な値を使用してX11を転送します
セキュアチャネルを介した接続。 通常、ユーザーは設定しないでください
X11接続が安全でなくなるため、明示的に表示する
(そして、ユーザーは必要な認証を手動でコピーする必要があります
クッキー)。
HOMEユーザーのホームディレクトリのパスに設定します。
LOGNAMEUSERの同義語。 これを使用するシステムとの互換性のために設定
変数に保存します.
MAILユーザーのメールボックスのパスに設定します。
PATHコンパイル時に指定されたデフォルトのPATHに設定します ssh.
SSH_ASKPASSの場合 ssh パスフレーズが必要です、それはからパスフレーズを読み取ります
端末から実行された場合は、現在の端末。 もしも ssh 持っていない
それに関連付けられている端末ですが、DISPLAYとSSH_ASKPASSが設定されています。
SSH_ASKPASSで指定されたプログラムを実行し、X11を開きます
パスフレーズを読み取るためのウィンドウ。 これは特に便利です
呼び出し ssh から .xセッション または関連するスクリプト。 (一部では注意してください
マシンからの入力をリダイレクトする必要があるかもしれません / dev / null 〜へ
これを機能させます。)
SSH_AUTH_SOCK通信に使用されるUNIXドメインソケットのパスを識別します
代理人。
SSH_CONNECTION接続のクライアント側とサーバー側を識別します。 変数
スペースで区切られたXNUMXつの値が含まれています:クライアントIPアドレス、クライアントポート
番号、サーバーIPアドレス、およびサーバーポート番号。
SSH_ORIGINAL_COMMANDこの変数には、強制コマンドの場合の元のコマンドラインが含まれます
実行されます。 元の引数を抽出するために使用できます。
SSH_TTYこれは、関連付けられたtty(デバイスへのパス)の名前に設定されます
現在のシェルまたはコマンドを使用します。 現在のセッションにttyがない場合、
この変数は設定されていません。
TZこの変数は、設定されている場合、現在のタイムゾーンを示すために設定されます
デーモンが開始されたとき(つまり、デーモンが値をに渡す
新しい接続)。
USERログインしているユーザーの名前に設定します。
さらに、 ssh 読み込み 〜/ .ssh / environment、および「VARNAME = value」の形式の行をに追加します
ファイルが存在し、ユーザーが環境を変更できる場合は、環境。 にとって
詳細については、を参照してください。 許可ユーザー環境 内のオプション sshd_configとします。
onworks.netサービスを使用してsshをオンラインで使用する