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

SSH 接続を終了するにはどうすればよいですか?

簡単な答え:exit と入力します

ただし、それがうまくいかない場合は...

SSH エスケープ文字と切断シーケンス

ほとんどの SSH 実装は、telnet の Ctrl-] に似た、対話型セッション用のエスケープ文字を実装しています。 組み合わせ。デフォルトの SSH エスケープ文字は ~ です 、行頭に入力。

スタックして exit を入力しても終了できないインタラクティブな OpenSSH セッションを終了したい場合 または Ctrl D リモート側のシェルに~ と入力できます ドット . が続く .入力行の先頭にエスケープ文字を確実に入力するには、最初に Enter キーを押す必要があります。したがって、ほとんどの場合、次のシーケンスで SSH セッションが終了します。

入る ~ .

その他のエスケープ シーケンス

たとえば、OpenSSH は ~. 以外のエスケープ シーケンスを提供します。 . ~? を入力しています セッション中にリストが表示されます。いくつかの例:

  • ~ Ctrl-Zをフォロー セッションを中断します。
  • ~& バックグラウンドに直接配置します。
  • ~# このセッションで転送された接続のリストを提供します。
  • 単純に行頭にチルダを入力したい場合は、2 倍にする必要があります:~~ .

エスケープ文字は、コマンド ライン オプション -e を使用して変更できます。 .特別な値 -e none を設定した場合 、エスケープは無効で、セッションは完全に透過的です。

-e の下にある ssh の OpenBSD man ページ (www.openssh.org から参照) も参照してください。 コマンドラインオプション


<ブロック引用>

SSH 接続を終了するにはどうすればよいですか?

2 つの方法:

  • シェル セッションを閉じると、通常は終了します。例:
    • シェル組み込みコマンド exit を使用 、続いて Enter 、または
    • Ctrl -d , (ファイルの終わり)
  • 接続が悪く、シェルが応答しない場合は、Enter を押します キー、次に ~. と入力します ssh はすぐに終了し、コマンド プロンプトに戻ります。

最初のオプションは直感的に理解できるはずですが、後者のオプションはどうすればわかりますか?

この情報は、man ページを注意深く読むことでわかります。

$ man ssh

エスケープ文字に関する次のセクションがある SSH ドキュメントを提供します:


ESCAPE CHARACTERS
     When a pseudo-terminal has been requested, ssh supports a number of
     functions through the use of an escape character.

     A single tilde character can be sent as ~~ or by following the tilde by
     a character other than those described below.  The escape character
     must always follow a newline to be interpreted as special.  The escape
     character can be changed in configuration files using the EscapeChar
     configuration directive or on the command line by the -e option.

     The supported escapes (assuming the default ‘~’) are:

     ~.      Disconnect.

     ~^Z     Background ssh.

     ~#      List forwarded connections.

     ~&      Background ssh at logout when waiting for forwarded connection
             / X11 sessions to terminate.

     ~?      Display a list of escape characters.

     ~B      Send a BREAK to the remote system (only useful if the peer sup‐
             ports it).

     ~C      Open command line.  Currently this allows the addition of port
             forwardings using the -L, -R and -D options (see above).  It
             also allows the cancellation of existing port-forwardings with
             -KL[bind_address:]port for local, -KR[bind_address:]port for
             remote and -KD[bind_address:]port for dynamic port-forwardings.
             !command allows the user to execute a local command if the
             PermitLocalCommand option is enabled in ssh_config(5).  Basic
             help is available, using the -h option.

     ~R      Request rekeying of the connection (only useful if the peer
             supports it).

     ~V      Decrease the verbosity (LogLevel) when errors are being written
             to stderr.

     ~v      Increase the verbosity (LogLevel) when errors are being written
             to stderr.

exit について特別なことは何もありません ssh への接続は、単にシェルを終了する方法であり、ssh セッションが閉じられます:

$ type exit
exit is a shell builtin
$ help exit
exit: exit [n]
    Exit the shell.
    
    Exits the shell with a status of N.  If N is omitted, the exit status
    is that of the last command executed.

参照元を引用することは、他の方法ではおそらく実証可能な事実の主張になるであろうもののさらなる証拠を提供し、より関連性の高い情報がどこに保存されているかをユーザーに知らせることです.

意味的に正しいことを行っていることを知りたいだけでなく、それが機能することを知りたい.

バグとして文書化され、後で「修正」されたものを機能として呼び出すことを学びたくありません。意味的に正しいことを行うことは、引き続きサポートされます。


SSH シェルを終了しますか?

exit と入力できます そして Enter を押します 、または Ctrl を使用 +D


Linux
  1. SSH接続タイムアウトを増やす方法

  2. ssh接続の速度を確認する方法

  3. リモートX接続(xdmcp対Ssh)でフォントを構成する方法は?

  1. Dockerコンテナを終了する方法

  2. SSH - ~/.ssh/config ファイルに -t コマンドを含める方法

  3. sshで実行されているqemu:終了する方法は?

  1. Linuxで応答しないSSH接続を終了する方法は?

  2. 接続を失った後にSshセッションを回復/強制終了する方法は?

  3. コマンドが失敗した場合の終了方法