繁体   English   中英

使用密码连接到 SSH 并使用 shell 脚本执行一些命令?

[英]Connect to SSH using password and Perform Some commands using shell script?

我正在从事 Magento 2 项目。

我在我的服务器上安装了 Git。 所以我可以在不使用 ftp 的情况下直接在服务器上推送和拉取更改。

在我的本地,我确实将更改推送到 git。 我确实拉到了偏远的一侧。 所以我在那里得到了我的改变。

所以我想创建一个shell脚本,手动编写的命令只需执行一个脚本就可以一一执行。

在脚本中,我也在思考。

  • 使用 ssh 连接服务器。 主机名和密码。
  • 然后使用cd项目名称进入项目目录。
  • 并在那里执行 git pull 命令。
  • 和一些用于更新更改的 magento 命令。 (例如:bin/magento 设置:升级等...)

那么有没有办法做这样的事情?

您可以通过ssh user@host 'command1;command2'在 ssh 上执行命令并使用 sshpass(但您必须以纯文本形式存储密码,这有点不可以)或设置基于密钥的身份验证(推荐)

首先,您必须安装 sshpass,可以通过在终端中运行以下命令来安装:

sudo apt install sshpass

现在转到 /home/{youruser}/ 并在任何编辑器中打开 .bashrc 文件(如果文件不可见,请按 Ctrl+H)。

现在让我们创建一个命令别名,根据您的项目详细信息在 .bashrc 文件中创建一个新行。 例如:

alias connect-magentto=’sshpass -p “your ssh password here” ssh yourusername@yourhostname’

将上面的命令复制粘贴到 .bashrc 文件中并保存并打开一个新终端。 在终端中输入“connect-magento”,现在您无需复制、粘贴或输入任何内容即可连接到服务器。

同样,您可以通过在 .bashrc 文件中添加并为其指定别名来创建任何您希望的其他命令的快捷方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM