侧边栏壁纸
博主头像
极客手札博主等级

Do everything!

  • 累计撰写 31 篇文章
  • 累计创建 16 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Git

git

在脚本中通过 SSH 连接到远程服务器而无需手动输入密码,可以使用 SSH 密钥认证机制。这样做可以自动完成认证过程,而无需手动输入密码。

以下是实现自动化认证的步骤:

  1. 生成 SSH 密钥对:
    如果您尚未生成 SSH 密钥对,请使用 ssh-keygen 命令生成。执行以下命令:

    ssh-keygen -t rsa
    

    按照提示操作,生成密钥对并保存到默认路径(通常是 ~/.ssh/id_rsa)。

  2. 将公钥复制到远程服务器:
    使用 ssh-copy-id 命令将生成的公钥复制到远程服务器上。执行以下命令:

    ssh-copy-id root@192.168.110.53
    

    您需要输入远程服务器的密码,然后公钥将被复制到远程服务器上的 ~/.ssh/authorized_keys 文件中。

  3. 验证 SSH 连接:
    确保您可以通过 SSH 连接到远程服务器而无需手动输入密码。执行以下命令:

    ssh root@192.168.110.53
    

    如果连接成功,说明 SSH 密钥认证设置正确。

完成以上步骤后,再次运行的脚本,它将自动通过 SSH 密钥认证连接到远程服务器而无需手动输入密码。

#!/bin/bash

rm -rf /opt/gateway/webroot/teacher/
rm -rf /opt/gateway/webroot/student/

scp -r root@192.168.110.53:/opt/gateway/webroot/{student,teacher} /opt/gateway/webroot/

local_ip=$(ip route get 1 | awk '{print $7}')

cd /opt/gateway/webroot/student/
sed -i 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/'"${local_ip}"'/g' config.js

cd /opt/gateway/webroot/teacher/
sed -i 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/'"${local_ip}"'/g' config.js
0

评论区