私はSSH経由でサーバーに接続して、次のようなコマンドを使用してソケットサーバーにメッセージを送信します。
ssh 181.169.1.2 -p 5566
接続が確立され、メッセージを書いて送信した後は、テキストモードを終了できません。それ以上のテキストを入力することしかできません。
コマンドモードに戻るためのコマンドやキーの組み合わせはありますか?
SSH接続を終了する方法
二通り:
exit
に続けて Enterまたは Ctrl - d 通常はssh
セッションを普通に終了させます。~.
と入力すると、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実装は、telnetのCtrl-]
の組み合わせと同様に、対話型セッション用のエスケープ文字を実装しています。デフォルトのSSHエスケープ文字は~
で、行の先頭に入力されています。
対話的なOpenSSHセッションを終了したい場合は、立ち往生していてexit
を入力しても終了できない場合 CtrlD リモート側のシェルに入力すると、~
に続けてドット.
を入力できます。入力行の先頭に必ずエスケープ文字を入力するには、最初にEnterキーを押す必要があります。したがって、次のシーケンスはほとんどの場合SSHセッションを終了します。
Enter~.
たとえば、OpenSSHは~.
以外の他のエスケープシーケンスを提供します。セッション中に~?
を入力すると一覧が表示されます。いくつかの例:
~
の後に続くCtrl-Z
はセッションを中断します、~&
はそれを直接バックグラウンドにします、~#
は、このセッションで転送された接続のリストを示します。~~
。エスケープ文字は、コマンドラインオプション-e
を使用して変更できます。特別な値-e none
を設定すると、エスケープは無効になり、セッションは完全に透過的になります。
-e
コマンドラインオプションの下の sshのOpenBSDのマニュアルページ ( www.openssh.org から参照される)も参照してください。
SSHシェルを終了しますか?
exit
と入力してヒットすることができます Enterまたは使用 Ctrl+D
exit
またはlogout
と入力するだけで(もちろんEnterキーを押しても)どちらでも動作します。
これらはあなたがsshで遊べるさまざまなオプションを提供するサポートされている文字です。
サポートされているエスケープシーケンス:
~. - terminate session
~B - send a BREAK to the remote system
~R - Request rekey (SSH protocol 2 only)
~# - list forwarded connections
~? - this message
~~ - send the escape character by typing it twice
(エスケープは改行直後にのみ認識されることに注意してください。)Escキーを押すと、エスケープシーケンスのリストを閉じることができます。 Enter。
コンソール行にlogout
を書くことができます Enter もちろん)。
MacOS:sshがハングするときは、次のシーケンスを使います。
ENTER
SHIFT+`
.
ここで、shift + `は〜を生成します(チルダ文字)