リモートコンピュータに接続する一般的なワークフローは次のとおりです。
- ローカルコンピュータにログイン
- ターミナルウィンドウの開始
- 「sshと入力してください。[Eメール保護]」
- リモートコンピュータにログイン
ローカルログインをなくしてワンステップで圧縮したいです。 VT220端末と同じです。予想されるワークフロー:
- ターミナル起動(テキストモード)
- ユーザーはログインプロンプトでttyを受け取ります。
- ユーザーが資格情報を入力します。
- 資格情報はリモートシステム(r.lan)で確認されます。
- ユーザーはリモートコンピュータ(r.lan)をシェルに配置します。
コンテキスト:私はいくつかのクライアントが使用したいシンプルなターミナルアプリケーションを設計しています。アプリケーションは、最小限のハードウェアを備えた専用端末で実行する必要があります。アプリケーションをローカルで実行している場合は、アプリケーションを指すようにログインシェルを変更して、必要なワークフローをインポートします(ユーザー認証をアプリケーションに直接追加します)。しかし、私はユーザーがローカルシステムやSSHと明示的に対話するのではなく、このアプリケーションをサーバーに常駐させたいと思います。
ベストアンサー1
私が工科大学で勉強したとき(1997年頃)、地元の学生会では、古いVT220ターミナルと低仕様PC(Intel 20MHz 386 CPUなど)を寄付しました(大学計算センターから送られたようです)。ギルドルームにはすでにWebブラウザを実行できるコンピュータが1〜2台ありますが、学生にとって最も重要なサービスは、電子メールを読んで(テキストベースの)受講登録システムを使用するためのSSH接続です。
端末をPCに接続し、一般的なプロンプトの代わりにプロンプトをgetty
表示するようにプロセスを設定し、ソースコードを変更したバージョンを作成しました。hostname:
login:
/bin/login
プログラムは、コマンドライン引数として入力されたホスト名getty
(通常のユーザー名と同様)を受け入れてから、実際のユーザー名を求めるプロンプトを出し、目的のリモートホストのexec()
SSHコマンドを入力します。 SSHコマンドが終了すると、「ログインセッション全体」が終了し、プロセスが再開されたかのinit
ように自動的に再起動されますgetty
。
ローカルコンソールとシリアル端末の接続にも同じ設定を使用できます。これで、すべての古いPCを複数のSSHキオスクとして使用することができます!
同様の操作を実行できますが、ホスト名のプロンプトステップは必要ないので、より簡単です。変更するには、/bin/login
すでに入力したユーザー名を受け入れて、特定のリモートコンピューターへのSSH接続を開始するだけです。これにより、SSHクライアントにパスワードプロンプトが表示されます。