【问题标题】:Do I have to do service to a get shell from localhost?我是否必须从 localhost 为 get shell 提供服务?
【发布时间】:2018-10-16 11:06:05
【问题描述】:

我想使用 ssh 从 localhost 到 Pod。有什么方法可以在不使用kubectl exec -it [Pod] /bin/bash 的情况下使用ssh [Pod_IP] 进行连接?

结果如ERROR: ssh: connect to host [ip] port 22: Connection refused所示。

【问题讨论】:

    标签: ssh kubernetes devops kubernetes-pod


    【解决方案1】:

    我认为您可以通过在目标 Pod 上安装 openssh-server 来实现此目标

    例如:

    与 Pod 建立 SSH 连接:

    $ kubectl exec -it <Pod_name> -- /bin/bash
    $ apt-get update
    $ apt-get install -y openssh-server
    

    确保 SSHD 服务已启动并正在运行:

    $ service ssh status
    

    必要时启动它:

    $ service ssh start
    

    如果要更改某些特定设置,请编辑 /etc/ssh/sshd_config 文件,然后重新启动 SSH 服务。

    使用 Pod IP 地址从本地计算机通过 SSH 检查连接。

    更新:

    我使用以下 Pod 配置来建立到 Centos 7 容器的 SSH 连接:

    apiVersion: v1
    kind: Pod
    metadata:
      name: centos
    spec:
      containers:
      - name: centos
        image: centos:latest
        command: [ "/bin/bash", "-c", "yum install openssh-server -y && /usr/bin/ssh-keygen -A && /usr/sbin/sshd -p 
    22 -f /etc/ssh/sshd_config && tail -f /dev/null" ]
        securityContext:
          privileged: true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多