Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用CircleCI-SSH部署到服务器需要密码,但我有关联的SSH密钥_Ssh_Devops_Ssh Keys - Fatal编程技术网

使用CircleCI-SSH部署到服务器需要密码,但我有关联的SSH密钥

使用CircleCI-SSH部署到服务器需要密码,但我有关联的SSH密钥,ssh,devops,ssh-keys,Ssh,Devops,Ssh Keys,作为CircleCI部署工作的一部分,我正在尝试使用SSH连接到服务器 ssh-oStrictHostKeyChecking=no$DEV\u DROPLET\u USER@$DEV\u DROPLET\u IP 我将此服务器上用户的SSH私钥加载到CircleCI中,但每次运行作业时,我都会得到此输出 警告:将“$host”(ECDSA)永久添加到已知主机列表中。 @的密码: 如何停止提示输入密码 我已将此用户的SSH密钥添加到服务器上的SSH代理(说明)对于无密码SSH连接,您必须: 将私

作为CircleCI部署工作的一部分,我正在尝试使用SSH连接到服务器

ssh-oStrictHostKeyChecking=no$DEV\u DROPLET\u USER@$DEV\u DROPLET\u IP

我将此服务器上用户的SSH私钥加载到CircleCI中,但每次运行作业时,我都会得到此输出

警告:将“$host”(ECDSA)永久添加到已知主机列表中。
@的密码:

如何停止提示输入密码


我已将此用户的SSH密钥添加到服务器上的SSH代理(说明)

对于无密码SSH连接,您必须:

  • 将私有ssh密钥放入连接到服务器的客户端计算机上目录
    $HOME/.ssh/
    中的文件中(例如:
    $HOME/.ssh/MyServer
  • 将公共ssh密钥复制到服务器上的文件
    $HOME/.ssh/authorized_keys
  • 对客户端计算机上的文件
    $HOME/.ssh/known_hosts
    具有写入权限
sshd服务通常已经配置为接受基于密钥的身份验证

现在,您可以从客户端计算机执行无密码连接
ssh-i$HOME/.ssh/MyServer$DEV\u DROPLET\u USER@$DEV\u DROPLET\u IP

当然,在客户端计算机上,$DEV_DROPLET_用户必须具有访问ssh相关文件的适当权限


您不需要在客户端或服务器上对ssh代理执行任何操作。

请稍后回复,但我希望它将来能帮助其他人

假设您遵循,则当运行
添加ssh\u密钥
步骤时,私钥将自动复制到CircleCI使用的计算机


确保您尝试通过SSH连接到的服务器之一,即生成的公钥(在
~/.SSH/id\u rsa.pub
或类似文件中)复制到同一服务器上的
~/.SSH/authorized\u hosts
文件中。这一关键步骤是允许任何拥有私钥(CircleCI)的人进入服务器。

此处的客户端是运行在CircleCI上的docker映像,因此,如何/在何处存储私钥?