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

我开始在他们的服务器上为一个组织工作。 他们需要允许我的服务器连接,以便通过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中运行它不会允许他们访问我的服务器。 我们正在尝试实现一个解决scheme,允许我的服务器通过SSH通过GIT连接到服务器,以获得推送和请求。 这是安全的吗? 还是有更好的解决scheme来完成这项任务?

这个脚本…当你的本地系统上运行…将:

  • 在您的.ssh目录中为您创build一个新的ssh密钥对。 你最终会得到两个文件, id_rsa_abcdefid_rsa_abcdef.pub
  • 它会在.ssh/config为你创build一个sshconfiguration文件,内容如下:

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

    例如,这将允许你键入ssh abcdef ,而ssh将知道使用新创build的密钥对连接到端口9999上的主机12.34.56.789 ,而不必input一堆附加的命令行选项。

  • 它会将你的ssh公钥复制到远程服务器上,这样你就可以使用你的私钥进行authentication。

它不会给任何人访问你的本地机器。

您在这里发布的命令/脚本是安全的,并将创build用于SSH身份validation的密钥对,并将公钥复制到$ {FULLNAME}。 这是一个很好的解决scheme。