当前位置: 首页 > 知识库问答 >
问题:

将SSH密钥部署到服务器

朱鹤轩
2023-03-14

我有以下剧本:

---
 - name: provision toms keys
    hosts: ssh4.demo.com
    tasks:
     - name: ensure user tom is present
       user: name=tom state=present

     - name: ensure private key and public one are present
       copy: src=ssh_keys/tom dest=/.ssh mode=0600
       with_items:
         - id_rsa.pub
         - id_rsa

 - name: provision toms public keys
    hosts: ssh1.demo.com

    sudo: yes

    tasks:

     - user: name=tom comment="Add tom" group=staff

     - name: Placing key
       authorized_key: user=tom key="{{ lookup('file', 'ssh_keys/tom/id_rsa.pub') }}"
./ssh_keys
./ssh_keys/david
./ssh_keys/david/id_rsa
./ssh_keys/david/id_rsa.pub
./ssh_keys/fred
./ssh_keys/fred/id_rsa
./ssh_keys/fred/id_rsa.pub
./ssh_keys/joe
./ssh_keys/joe/id_rsa
./ssh_keys/joe/id_rsa.pub
./ssh_keys/paul
./ssh_keys/paul/id_rsa
./ssh_keys/paul/id_rsa.pub
./ssh_keys/peter
./ssh_keys/peter/id_rsa
./ssh_keys/peter/id_rsa.pub
./ssh_keys/tom
./ssh_keys/tom/id_rsa
./ssh_keys/tom/id_rsa.pub
 /home/tom/.ssh/id_rsa/tom/id_rsa

共有1个答案

公孙宏远
2023-03-14

尝试:

 ---
 - name: provision toms keys
    hosts: ssh4.demo.com
    tasks:
     - name: ensure user tom is present
       user: name=tom state=present

     - name: ensure private key and public one are present
       copy: src=ssh_keys/tom/ dest=/.ssh mode=0600

您可以用'tom/'复制整个目录tom或tom的内容。此外,在复制完整目录时,您不需要指定文件。

 类似资料:
  • 我试图编写一个YAML管道脚本,使用ssh密钥将已从bitbucket存储库更改的文件部署到远程服务器。我现在的文档是从bitbucket本身复制的,有错误: 配置错误 bitbucket-pipelines.yml在[pipelines>默认>0>步骤>脚本>1]处出现错误。准确地说:缺少命令字符串或命令字符串为空。此列表中的每个项应该是单个命令字符串或定义管道调用的映射。 我的ssh公钥和私钥

  • 我的网站有两个服务器——本地(ubuntu桌面上的laravel homestead)和公共(带有php7的ubuntu服务器)。我已经有了一些简单的网站,它们在我的公共服务器上运行良好,并且可以在网上看到。我在我的laravel Homestead本地服务器上创建了laravel 5.2项目,现在我想将其移动到我的公共服务器上。我压缩完整的项目文件夹(tar.gz),并使用filezilla将其

  • 我在Laravel voyager上做了一个测试项目。我想把它发布到服务器上。 我试试这个: 初始化 git远程添加原点 *** git检出大师 git拉 添加. env 添加. htaccess php工匠迁移--force 在ProviderRepository.php第208行中:未找到类“TCG\Voyager\VoyagerServiceProvider” 怎么做? 更新: php ar

  • 我在科尔达做了一个简单的项目。我的项目有4个节点,包括公证人和客户文件夹中的SpringBoot API。我不知道如何将我的项目部署到服务器上。我看过Corda文档,但那篇教程只针对一个节点。所以,我的问题是如何在服务器上部署具有多个节点的Corda项目,以及SpringBoot API。有人能帮我吗?

  • 我目前正在开发一个云备份解决方案,其中涉及到多达8个在spring-boot中开发的微服务,并使用mongo DB atlas作为持久层。 微服务包括Netflix ZUUL API网关和Netflix Eureka作为服务发现机制。微服务被要求彼此进行明显的对话。 对微服务进行了对接。到目前为止,我已经使用docker-compose文件将它们部署到EC2实例中,该文件列出了使用docker网络

  • 问题内容: 我正在尝试使用Go编程语言的[ssh] [1]包通过密钥连接到Amazon AWS AWS Linux服务器。但是,软件包文档有些含糊/令人困惑。有谁知道如何通过使用密钥的ssh进行连接,或者至少在可能的情况下?令我困扰的是[Dial] [3]示例中的内容 我基本上想模仿ssh -i x.pem root@server.com的行为,并在服务器内部执行命令(例如) 问题答案: 您需要使