我正试图第一次建立大厅。我经历了教程并成功地在流浪汉和hello world演示中运行了大厅。我想知道设置工作者,现在这都是在我的本地机器上,做iOS构建。我似乎无法获得正确的ssh键设置。我一直在说:
{"timestamp":"1499972495.137019873","source":"worker","message":"worker.beacon.restarting","log_level":2,"data":{"error":"failed to dial: failed to construct client connection:%!(EXTRA *errors.errorString=ssh: handshake failed: remote host public key mismatch)","session":"3"}}```
我根据教程生成了本地工作键,并在/opt/concourse
找到了vagrant vm中的键。但是,我从服务器为TSA密钥复制的任何公钥似乎都不符合预期。
我遇到了麻烦,因为我正在运行教程中的精简版吗?
我想使用/opt/concourse
个中的键吗?
答案 0 :(得分:0)
我在TSA注册工作人员时遇到了麻烦,但在我的情况下,错误消息略有不同(EOF
或packet too large
)。由于它是SSH错误,请尝试逐步调试它。我不确定你的设置是什么样的,我的如下:
TSA (from docker-compose) listening on 2222
Host (runs concourse). 127.0.0.1:2228 maps to docker container on :2222
nginx listening on 2222
Worker (on Windows, OS X, …) registers at TSA
其中一些部分会破坏SSH流量,因此请尝试直接使用SSH登录此端口。一步一步,首先在主机上进行测试(看看你是否可以访问docker容器),然后从worker调试(看看你是否可以通过nginx)。对于上述情况
# On the host
ssh -i worker-key-path -p 2222 127.0.0.1 -v
# On the worker
ssh -i worker-key-path -p 2222 example.com -v
请注意,authorized_worker_keys
文件中的TSA必须知道工作人员的公钥。
成功登录后,您应该看到
Authenticated to example.com ([12.34.56.78]:2222).
[...]
PTY allocation request failed on channel 0
shell request failed on channel 0
如果您看到类似
的错误消息ssh_exchange_identification: Connection closed by remote host
然后nginx配置错误,应该使用stream
重定向:
stream {
server {
listen 2222;
proxy_pass 127.0.0.1:2228;
#proxy_ssl on;
}
}