我开始在他们的服务器上为一个组织工作。他们需要允许来自我的服务器的连接才能通过 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 连接到他们的服务器以进行推送和拉取请求。这样做安全吗?或者是否有更好的解决方案来完成这项任务?
该脚本...在您的本地系统上运行时...将:
.ssh
目录中为您创建一个新的 ssh 密钥对。你最终会得到两个文件,id_rsa_abcdef
和id_rsa_abcdef.pub
.它将为您创建一个
.ssh/config
包含以下内容的 ssh 配置文件:例如,这将允许您键入
ssh abcdef
,并且ssh
将知道使用新创建的密钥对连接到12.34.56.789
端口上的主机,9999
而无需键入一堆额外的命令行选项。然后它会将您的 ssh 公钥复制到远程服务器,以便您可以使用您的私钥进行身份验证。
它不会向其他人提供对您本地计算机的任何访问权限。
您在此处发布的命令/脚本是安全的,将创建一个用于 SSH 身份验证的密钥对,并将公钥复制到 ${FULLNAME}。这是一个很好的解决方案。