私はLinuxの使い方を学んでおり、次のコマンドを使用して一連のコマンドを実行できることを確認したいと思いました。SSHパスワード機械に入ります。
#!/usr/bin/env bash
clear
virsh start rhel8.4-2server
sleep 10
sshpass -p "PASSWORD_HERE" ssh -o StrictHostKeyChecking=no server@IP_ADDRESS_HERE
echo "Hello and good day" && date
これはマシンに通常SSHで接続されますが、実行されません。エコそして日付注文する。このコマンドは、接続が閉じられた後にのみ実行されます。
EOFの使用について話している別のスレッドを見つけましたが、もっと読みながら。コマンドの実行後に接続が閉じます。しかし、接続が開いていることを願っています。
#!/usr/bin/env bash
clear
virsh start rhel8.4-2server
sleep 10
sshpass -p "PASSWORD_HERE" ssh -T -o StrictHostKeyChecking=no server@IP_ADDRESS_HERE << EOF
echo "Hello and good day" && date
EOF
ベストアンサー1
-t
コマンドのフラグ(疑似端末割り当て)を使用してからコマンドを指定することでssh
これを行うことができます; /bin/bash
。
例:
[root@server1 ~]# sshpass -p 'hunter2' ssh -t bubba@server2 'date; /bin/bash'
Thu Sep 30 22:24:32 EDT 2021
[bubba@server2 ~]$