远程主机发出奇怪请求。我安全吗?

远程主机发出奇怪请求。我安全吗?

我开始在某个组织的服务器上工作。他们需要允许来自我的服务器的连接才能通过 SSH 使用 GIT。

他们要求我将其放在我的 SSH 目录中:

SHORTNAME=abcdef
FULLNAME=12.34.56.789
PORT=9999
ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa_${SHORTNAME}
cat <<EOF >> ~/.ssh/config
host ${SHORTNAME}
hostname ${FULLNAME}
port ${PORT}
identityfile ~/.ssh/id_rsa_${SHORTNAME}
compression yes
protocol 2
ServerAliveInterval 60
EOF
ssh ${SHORTNAME} "mkdir -p ~/.ssh"
scp -P ${PORT} ~/.ssh/id_rsa_${SHORTNAME}.pub ${FULLNAME}:~/.ssh/id_rsa_${SHORTNAME}.pub
ssh ${SHORTNAME} "cat ~/.ssh/id_rsa_${SHORTNAME}.pub >> ~/.ssh/authorized_keys"

我是 Linux 新手。我只想确保在 SSH 中运行此程序不会允许他们访问我的服务器。我们正在尝试实现一种解决方案,允许我的服务器通过 SSH 通过 GIT 连接到他们的服务器以进行推送和拉取请求。这样做安全吗?或者有更好的解决方案来完成这项任务?

答案1

此脚本...在您的本地系统上运行时...将:

  • 在您的目录中为您创建一个新的 ssh 密钥对.ssh。您最终将得到两个文件,id_rsa_abcdefid_rsa_abcdef.pub
  • 它将为您创建一个 ssh 配置文件,其中.ssh/config包含以下内容:

    host abcdef
    hostname 12.34.56.789
    port 9999
    identityfile ~/.ssh/id_rsa_abcdef
    compression yes
    protocol 2
    ServerAliveInterval 60
    

    ssh abcdef例如,这将允许您键入,并且ssh会知道使用新创建的密钥对连接到12.34.56.789端口上的主机9999,而无需输入一堆额外的命令行选项。

  • 然后它会将您的 ssh 公钥复制到远程服务器,以便您可以使用私钥进行身份验证。

它不会向其他人授予对您本地机器的任何访问权限。

答案2

您在此处发布的命令/脚本是安全的,它将创建一个密钥对用于 SSH 身份验证,并将公钥复制到 ${FULLNAME}。这是一个很好的解决方案。

相关内容