Use Expect in a Bash script to provide a password to an SSH command

前端 未结 9 853
轮回少年
轮回少年 2020-11-22 06:23

I\'m trying to use Expect in a Bash script to provide the SSH password. Providing the password works, but I don\'t end up in the SSH session as I should. It goes back strait

9条回答
  •  梦谈多话
    2020-11-22 06:59

    After looking for an answer for the question for months, I finally find a really best solution: writing a simple script.

    #!/usr/bin/expect
    
    set timeout 20
    
    set cmd [lrange $argv 1 end]
    set password [lindex $argv 0]
    
    eval spawn $cmd
    expect "Password:"
    send "$password\r";
    interact
    

    Put it to /usr/bin/exp, then you can use:

    • exp ssh
    • exp scp

    Done!

提交回复
热议问题