web-dev-qa-db-ja.com

echoを使用してユーザー名とパスワードを指定するときにtelnetを閉じないでください

ログインするためにtelnetにユーザー名とパスワードを指定すると、次のコマンドの後に自動的に閉じられます。

echo password | telnet mymachine -l mysuername

コンソール出力:

Connected to mymachine.
Connection closed by foreign Host.

その後、接続が閉じられます。ログインにユーザー名とパスワードを一度に提供しながら接続を維持する方法はありますか?

更新:毎回ユーザー名とパスワードを入力せずにログインする、受け入れられた回答に従ってエイリアスを作成しました:

alias logon='rm loginscript; echo \#\!\/usr\/bin\/expect >> loginscript ; echo spawn telnet remotemachine -l username >> loginscript ; echo expect Password: >> loginscript ; echo send password"\\r" >> loginscript ; echo expect -- \{\$ \} >> loginscript ; echo interact >> loginscript; chmod 777 loginscript; ./loginscript'
4

インタラクティブセッションを続行する場合、通常の方法はexpectを使用してログインすることです。

#!/usr/bin/expect
spawn telnet mymachine -l myusername
expect Password:
send password\r
expect -- {$ }
interact
6
meuh