首页 > 解决方案 > 如何在 .sh 文件中编写 ssh 连接代码以连接到远程机器

问题描述

我已经编写了一个脚本(test.sh 文件)来在系统 A 上的 docker 中重置 mysql 和 postgres db 所以当我在系统 A 上运行 test.sh 文件时它工作正常

现在我需要从另一个系统 B 运行相同的文件为此我必须首先通过在控制台中给出这个命令来连接到系统 A

  1. 导航到文件夹
  2. 进入系统A id test@192.111.1.111
  3. 输入密码
  4. 然后从系统 B 运行 test.sh 文件

如何在 test.sh 文件中添加以上所有 3 个步骤,这样我就不必在系统 B 的控制台中输入上述 3 个步骤,这样我就可以在系统 B 上运行 test.sh 文件,它将完成所有工作连接 tp System A 并重置 db

echo  "Resetting postgres Database";
docker cp /home/test/Desktop/db_dump.sql db_1:/home
docker exec -it workflow bash -c "npm run schema:drop"
docker exec -it workflow bash -c "npm run cli schema:sync"
docker exec -it db_1 bash -c "PGPASSWORD=test psql -h db -U postgres -d test_db < /home/db_dump.sql"
echo "ProcessEngine Database Resetting";
docker cp /home/test/test/test/test.sql test:/home
docker exec -it test bash  -c "mysql -uroot -ptest -e 'drop database test;'"
docker exec -it test bash -c "mysql -uroot -ptest -e 'create database test;'"
docker exec -it test bash -c "mysql -uroot -ptest -e 'use test; source /home/test.sql;'"

我想将 ssh 的连接代码添加到此代码中,以便我可以从其他系统运行它

  1. 导航到文件夹
  2. ssh 测试@192.111.1.111
  3. 密码

如何将以上 3 个步骤放在我的代码中

标签: linuxshellunixsshprotractor

解决方案


推荐阅读