首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在gitea中不工作的SSH连接

在gitea中不工作的SSH连接
EN

Server Fault用户
提问于 2020-05-21 11:31:23
回答 1查看 6.1K关注 0票数 1

我已经安装了gitea,它是我在sshd_config中设置的机器的外部SSH端口是4444。

代码语言:javascript
复制
version: '2'
volumes:
  gitea:
  postgres:
networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    env_file:
      - .env
    restart: always
    networks:
      - gitea
    volumes:
      - gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "2222:22"
    depends_on:
      - postgres
  postgres:
      image: postgres:9.6
      restart: always
      env_file:
        - gittea_db.env
      networks:
        - gitea
      ports:
        - "5432:5432"
      volumes:
        - postgres:/var/lib/postgresql/data

以下是.env文件

代码语言:javascript
复制
USER_UID=1002
USER_GID=1001
DB_TYPE=postgres
DB_HOST=postgres:5432
DB_NAME=gittea
DB_USER=gittea
DB_PASSWD=password12
INSTALL_LOCK=True
APP_NAME=myapp
RUN_MODE=prod
DOMAIN=source.smarticlelabs.com
ROOT_URL=https://source.smarticlelabs.com
SSH_LISTEN_PORT=22
SSH_PORT=2222

但是,当我在添加ssh键后尝试克隆回购时,我会收到以下错误

代码语言:javascript
复制
git clone ssh://git@51.15.245.237:2222/superadmin/testrepo.git
Cloning into 'testrepo'...
ssh: connect to host 51.15.245.237 port 2222: Connection refused
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
EN

回答 1

Server Fault用户

回答已采纳

发布于 2020-07-09 10:41:17

正如其他人指出的那样,这实际上可能是一个防火墙问题。

要解决这个问题,首先应该验证您的容器实际上正在使用docker-compose ps运行。

代码语言:javascript
复制
# docker-compose ps
 Name                Command               State           Ports         
-------------------------------------------------------------------------
server               [cmd ...]             Up              0.0.0.0:22->2222/tcp

接下来,您应该检查您的Docker是否确实使用netstat -lpn|grep -i 2222公开了端口:

代码语言:javascript
复制
# netstat -lpn|grep -i 2222
tcp6       0      0 :::2222                 :::*                    LISTEN      7216/docker-proxy-c

这也应该与本地Docker主机防火墙与iptables-save|grep -i 2222匹配:

代码语言:javascript
复制
# iptables-save|grep -i 2222
-A POSTROUTING -s 172.18.0.2/32 -d 172.18.0.2/32 -p tcp -m tcp --dport 2222 -j MASQUERADE
-A DOCKER ! -i br-0383ea873b82 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 172.18.0.2:2222
-A DOCKER -d 172.18.0.2/32 ! -i br-0383ea873b82 -o br-0383ea873b82 -p tcp -m tcp --dport 2222 -j ACCEPT

当所有这些检查都是肯定的,这可能是您的外部防火墙在您的互联网IP 51.15.245.237的问题。

您可以通过从与您的码头主机相同的IntraNet上的另一个主机连接来检查这一点。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1018064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档