2017-07-27 9 views
-1

インターネット上でホストされている古いGitlabリポジトリ(ローカルマシン)を新しいものにインポートします。私はリバーストンネルを設定して、新しいGitlabインストールからインポートすることができます。SSHリバーストンネルが1024未満のポートをバインドできませんでした。

ssh -N -R 192.168.1.1:8080:gitlab.office.server:80 linode-gitlab 

このため、https://gitlab.com/gitlab-org/gitlab-ce/issues/28628#note_30130063では、URLにポート番号を含めることはできません。だから私の選択はポート80にバインドすることです。

ssh -N -R 192.168.1.1:80:gitlab.office.server:80 [email protected] 
Warning: remote port forwarding failed for listen port 80 

これは失敗します。私は上記のようにrootとしてログインしようとしますが、それでも動作させることはできませんでした。

参考のため、すでにsshd_configGatewayPorts clientspecifiedを含めるように変更していますので、指定したIPアドレスにバインドすることができます。

リバーストンネルとバインドポート< 1024をリモートマシン上で実行する方法はありますか。

+1

デフォルトでは、 'root'ユーザのみがLinuxの1024未満のポートにバインドできます。 [いくつかは、[この質問](https://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-on-Linux)を参照してください。回避策。 – Phylogenesis

+2

おそらくすでにポート80でリッスンしているサービスがあります。通常の疑いのあるものは、apacheまたはnginxです。 – DrHopfen

+0

@Phylogenesis、質問を編集しました。私はrootとしてログインしようとしましたが、結果は同じです。 – rioastamal

答えて

-1

解決済み。

Gitlabがすべてのインターフェイス0.0.0.0:80にバインドしていることに気付かなかった。私は、リモートマシン上の192.168.1.1:80にバインドするSSH逆のトンネルを作成することができていますすべてのインターフェイスに耳を傾けないようにGitlab構成を変更した後

$ sudo netstat -ntap | grep LISTEN 
tcp  0  0 0.0.0.0:25    0.0.0.0:*    LISTEN  14432/master  
tcp  0  0 0.0.0.0:443    0.0.0.0:*    LISTEN  1899/nginx  
tcp  0  0 0.0.0.0:8060   0.0.0.0:*    LISTEN  1899/nginx  
tcp  0  0 0.0.0.0:21212   0.0.0.0:*    LISTEN  3842/sshd  
tcp  0  0 127.0.0.1:9121   0.0.0.0:*    LISTEN  1948/redis_exporter 
tcp  0  0 127.0.0.1:9090   0.0.0.0:*    LISTEN  1931/prometheus 
tcp  0  0 127.0.0.1:9187   0.0.0.0:*    LISTEN  1911/postgres_expor 
tcp  0  0 127.0.0.1:9100   0.0.0.0:*    LISTEN  1906/node_exporter 
tcp  0  0 0.0.0.0:80    0.0.0.0:*    LISTEN  1899/nginx  
tcp  0  0 127.0.0.1:9168   0.0.0.0:*    LISTEN  1875/ruby  
tcp6  0  0 :::21212    :::*     LISTEN  3842/sshd  
tcp6  0  0 ::1:9168    :::*     LISTEN  1875/ruby 

関連する問題