2

我正在编写一个 bash 脚本,它将连接到我的远程机器然后运行一些命令,其中一个是 vncserver :1,但是这个命令需要输入密码。我怎样才能在我的 shell 脚本中做到这一点?(我只需要运行脚本,不需要输入密码)

这是我的脚本:

ssh -i $pem -o StrictHostKeyChecking=no -o 'IdentitiesOnly yes' admin@$ip -f '
            pkill vnc ;
            vncserver :1 ;
            '
4

1 回答 1

2

谢谢大家,现在好了:

ssh -i $pem -o StrictHostKeyChecking=no -o 'IdentitiesOnly yes' admin@$ip -f '
            pkill vnc ;
            expect -c "
            spawn vncserver :1;
            expect -nocase \"password:\" {
                send \"$pass\r\"; 
                expect -nocase \"Verify:\" {
                    send \"$pass\r\"; 
                    expect -nocase \"Would you like to enter a view-only password \(y\/n\)\?\" {
                        send \"n\r\"; 
                        expect eof }; }; interact } ;
            "
            '
于 2015-02-07T08:56:45.970 回答