pho*_*les 4 login autologin echo telnet
当我向 telnet 提供用户名和密码进行登录时,它会在执行以下命令后自动关闭:
echo password | telnet mymachine -l mysuername
Run Code Online (Sandbox Code Playgroud)
控制台输出:
Connected to mymachine.
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)
然后连接关闭。有没有一种方法可以保持连接,同时仍然一次为登录提供用户名和密码?
更新:我根据接受的答案写了一个别名,每次登录时无需输入用户名和密码:
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'
Run Code Online (Sandbox Code Playgroud)
如果要继续交互式会话,通常的方法是使用expect进行登录:
#!/usr/bin/expect
spawn telnet mymachine -l myusername
expect Password:
send password\r
expect -- {$ }
interact
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1383 次 |
| 最近记录: |