ログインするために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'
インタラクティブセッションを続行する場合、通常の方法はexpect
を使用してログインすることです。
#!/usr/bin/expect
spawn telnet mymachine -l myusername
expect Password:
send password\r
expect -- {$ }
interact