Tag: ssh

Terraform,Docker,Debian 8

我是Terraform的初学者,我正在寻求帮助。 我试过使用谷歌,但我找不到解决scheme。 我有Debian 8服务器。 我成功安装了docker和terraform。 现在我需要创build与Ubuntu的docker容器,并设置与Terraform的这个容器的SSH访问。 我terraformconfiguration是创builddocker容器,设置图像和提供商docker,但我找不到如何设置ssh访问它或configuration一些额外的SW。 Terraformconfiguration: # Configure the Docker provider provider "docker" { host = "tcp://127.0.0.1:2376/" } # Definition of ubuntu image resource "docker_image" "ubuntu" { name = "ubuntu:latest" } # Create a container resource "docker_container" "Ubn_Con" { image = "${docker_image.ubuntu.latest}" name = "Ubn_Con" } 感谢您的任何帮助。

sshd AuthorizedKeysCommand引发状态127

我正在尝试构build一个ssh服务来允许push / pull到phabricator回购。 我dockerized所有的服务,我目前遇到了一个奇怪的错误,无法执行必要的身份validation脚本的SSH。 docker镜像运行php-fpm和sshd服务,把ssh和必要的php脚本联合起来。 特别是,我有以下/ etc / ssh / sshd_config: AuthorizedKeysCommand /usr/libexec/phabricator-ssh-hook.sh AuthorizedKeysCommandUser git AllowUsers git Port 2222 Protocol 2 PermitRootLogin no AllowAgentForwarding no AllowTcpForwarding no PrintMotd no #PrintLastLog no PasswordAuthentication no ChallengeResponseAuthentication no AuthorizedKeysFile none PidFile /var/run/sshd-phabricator.pid (作为一个方面,PrintLastLog抛出一个错误,当我启动sshd,我不认为是相关的,但可能是??) 当我手动运行 su – git -c "/srv/phabricator/scripts/ssh/ssh-auth.php git" ,我能够成功执行脚本。 但是,当我在debugging模式( /usr/sbin/sshd -d -d -d )下运行时检查sshd日志时,出现以下错误: …other […]

Docker – PHPcomposer php – 私有存储库

我已经在OSX上克隆了一个新项目,在这个项目中,我有一个引用了私有存储库的composer.json 。 我想使用官方的Docker作曲者图片来安装所有的依赖关系。 一切正常,但问题发生在私人存储库,因为当然,composer php容器没有安装SSH密钥。 合理。 有人可以向我解释什么是从我的私人回购安装PHP依赖的“准确”的方式? 我已经阅读官方文档( https://docs.docker.com/samples/library/composer/ ),他们说: When you need to access private repositories, you will either need to share your configured credentials, or mount your ssh-agent socket inside the running container: 我在OSX上,所以安装部分不会像我在研究中发现的那样工作。 我还读到,“Docker”的方式是在作曲者的映像上没有SSH部分。 换句话说,每个容器只有一个进程。 所以我发现另一种方式是运行一个单独的SSH服务器,但我不知道这是如何工作的。 据说我会通过它连接到composer容器? 如果有人有这种问题的经验,请分享您的想法。 对不起,如果我遗漏了一些东西,请告诉我。 谢谢!

SSH的AWS EC2实例与Docker(Ubuntu 14.04)通过IP端口22获取连接closures

使用Docker(Ubuntu AMI)创build一个新的AWS EC2实例后,一个ssh到Conenctionclosures失败。 ssh -i ~/cmec2-1.pem ubuntu@ec2-54-183-133-180.us-west-1.compute.amazonaws.com Connection closed by 54.183.133.180 port 22 我停下来,并开始实例2次,但同样的错误。 任何想法为什么发生这种情况? SSH在入站规则中

docker-compose以ssh的交互模式启动容器

我的docker-compose.yaml文件如下 version: '3' services: client: image: thusithathilina/my_image ports: – "5000:22" command: ["/usr/sbin/sshd"] stdin_open: true tty: true 但是这不会以交互模式启动容器。 我想以交互模式启动容器启动时的ssh。 有人可以指出我在这里做错了吗? 主机是Linux 9a65bd45c029 3.13.0-128-generic#177 -Ubuntu SMP x86_64 x86_64 x86_64 GNU / Linux我用 docker-compose run client

远程访问位于Docker容器内的ADB服务器

我在主机A上有一个Docker容器 ,它在端口 5022上导出一个SSH服务。例如,如果我想连接到容器,我通常使用ssh -p 5022 user@hostA 。 在Docker容器中,我有一个运行在端口5037(这是默认端口) 的ADB服务器 (Android Debug Bridge)。 例如,我可以在容器中运行adb devices来列出所有连接的Android设备和仿真器。 我想这样做,但从主机B远程 。 所以,从主机B,我想ADB adb devices被redirect到我的远程docker集装箱的ADB。 我试图build立一个如下这样的隧道: ssh -L 9999:127.0.0.1:5037 -N -T -p 5022 user@hostA ,然后adb -H 127.0.0.1 -P 9999 devices但它不工作:(并说error: protocol fault (no status)和channel 2: open failed: connect failed: Connection refused被隧道channel 2: open failed: connect failed: Connection refused 。 隧道: bash […]

如何将主机文件夹挂载到Docker容器中,保持主机只读但可写入容器

是否可以将主卷上的文件夹挂载到容器中,使主机文件夹保持只读状态,同时允许容器修改自己的覆盖文件中的文件? 用例:我们有一个使用由厨师pipe理的docker executor的gitlab实例。 gitlab亚军旋转了一个容器,为我们部署。 我们在主机上有一个共享的ssh密钥,我们可以将它安装到容器中,这样我们就可以进入我们所有的服务器并进行部署。 问题:我们有其他团队也使用我们的gitlab实例。 他们需要ssh进入他们的服务器。 他们覆盖了id_rsa,允许他们连接,但是这写入主机文件夹,然后又打破了我们的pipe道。 是否有可能让docker拉的证书,并只允许一种方式写入容器层?

kubernetes ssh连接在gcloud上被拒绝

我试图连接到GKE集群内运行的pod – 我可以ssh进入集群内的节点,但是当我尝试下面的命令进入pod内的bash时,出现错误: kubectl –namespace=prod exec -it test-webserver-3998817321-728hj — /bin/bash – >服务器错误:错误拨号后端:ssh:拒绝:连接失败(连接超时) 如何使用kubectl命令连接到gke群集中的正在运行的群集? 有没有什么configuration与我的防火墙? 我有以下的SSH规则: NAME NETWORK DIRECTION PRIORITY ALLOW DENY sshaccess default INGRESS 1000 tcp:22,icmp 当我在本地群集上尝试上述命令时,可以轻松连接。 有时候是有效的,有时却不行。 据我所知,Loadbalancer(Ingress)可能是负责这种行为?

sshdocker集装箱从外面

我有一个docker-compose.yml文件,包含两个节点。 我已经安装ssh通过命令RUN apt-get install -y ssh和暴露的端口22为ssh (在这里讨论)在两个: version: "2" services: nodex: build: context: . dockerfile: Dockerfile-X args: – MY_USER – MY_PASS environment: – MY_DNS=${MY_DNS} – MY_HOME=${MY_HOME} env_file: – .env – envs/nodex/nodex1.env ports: – "${NODE_X_TOMCAT_PORT}:${NODE_X_TOMCAT_PORT}" – "4040:22" networks: zizi_network: ipv4_address: ${NODE_X_IP} nodey: build: context: . dockerfile: Dockerfile-Y environment: – MY_DNS=${MY_DNS} – MY_HOME=${MY_HOME} env_file: – .env – […]

如何可靠地保持与我的Python Flask API打开的SSH隧道和MySQL连接?

我在Flask中构build了一个API,用Keras对文本信息进行分类。 我目前使用sshtunnel和MySQLdb连接到MySQL数据库以从远程数据库获取消息。 整个应用程序被封装在一个Docker容器中。 我能够build立到远程数据库的连接并成功查询它,但是每当POST请求进入API时,我都会打开和closures一个新的ssh隧道,这会降低性能。 我试图打开一个单独的ssh隧道和数据库连接来“统治所有”,但是如果在一个小时左右之后没有任何活动,连接就会过时,然后API请求将永远耗费一天的时间来完成。 你是怎么做到的? 这是缓慢的不可避免的还是有办法定期刷新SSH和数据库连接? 这是我连接到我的数据库为每个传入的请求: with SSHTunnelForwarder( (host, 22), ssh_username=ssh_username, ssh_private_key=ssh_private_key, remote_bind_address=(localhost, 3306) ) as server: conn = db.connect(host=localhost, port=server.local_bind_port, user=user, passwd=password, db=database)