我有Linux远程机器,它在登录尝试上运行脚本,它将运行脚本,它需要用户输入。
主要目的是测试登录用户,在登录到该用户时远程使用自动脚本响应的密码。
远程机器内的收费信息:
$ cat/etc/passwd
remoteuser:dontcare:dontcare:dontcare:dontcare:/usr/bin/somescript.sh
当用户登录到remoteuser时,somescript.sh 将运行。
请求用户输入的脚本的内容
$ read -p '>' tmp 我不想对那个剧本做任何改动。
登录的示例login: remoteuser
Password: remoteuserpassword
Quit Configuration (q, quit)
我可以使用ssh命令发送用户输入? 目前我的方法是使用 paramiko ssh
连接= paramiko.SSHClient() 使用 exec_command
但是它仍然无法按正确顺序发送输入,或者无法传递到该脚本。
$ echo q 到 paramiko exec connection.exec_command('echo q')
因为我不需要密码,所以我不使用 root 来测试这个远程用户。
echo q | su - remoteuser