SSHをシリアルポートに接続する方法が必要です。シェルとシリアルポートで接続されているデバイスがあります。基本的に、SSHクライアントをシリアルポートに直接パイプしたいと思います。基本的に、SSHを介してシリアルコンソールに接続します。
SSHクライアント-> SSHサーバー->シリアル接続デバイス。
これどうやってするの? SSHをシリアルポートにブリッジします。クライアントはコマンドを実行しないでください。シリアルコンソールに直接配置する必要があります。
コマンドラインパラメータを必要とせずに、SSHサーバーのターミナルセッションをシリアルポートに接続する小さなスクリプトを記述します。たとえば、次のようにcu
コマンドを使用できます。
#!/bin/sh
exec cu -l /dev/ttyS0 -s 115200 # add/modify options if needed
これをたとえばに保存します。 /usr/local/bin/serial-connection
とchmod a+x /usr/local/bin/serial-connection
で実行可能としてマークします。
パス名/usr/local/bin/serial-connection
をファイル/etc/shells
に追加します。
シリアル接続用のLinuxユーザーを作成します。 serial
など、好きな名前を付けることができます。パスワードを設定し、ユーザーが正常にログインできることを確認します。
最後に、serial
ユーザーのシェルを/usr/local/bin/serial-connection
に変更します。
chsh -s /usr/local/bin/serial-connection serial
これで、serial
ユーザーがログインすると、ユーザーのシェルが自動的に起動しますが、実際には、SSHセッションをシリアルポートに接続するコマンドになります。そして、そのコマンドが何らかの理由で終了した場合、SSHセッションは自動的に終了します。
接続を終了するには、serial
ユーザーは、PuTTYなどを使用している場合は~.
(チルドドット)、OpenSSHクライアントを使用している場合は~~.
(チルドチルドドット)を入力する必要があります。 。偶然にも、cu
とOpenSSHクライアントの両方が~
をエスケープ文字として使用します。行の先頭で2回入力すると、cu
に単一のチルド文字が出力されます。