web-dev-qa-db-ja.com

特定のサーバーからBitbucketからSSH経由でクローンをgitできません

AWSでホストされているBitbucketServerインスタンスがあります。 (別のリージョンにある)他のAWSサーバーから、SSH経由のgit cloneが失敗し、

ssh: connect to Host (hostname) port 7999: Connection refused

ただし、AWSの他のサーバー(Bitbucketサーバーと同じリージョン内)は、同じURLを使用してSSH経由で正常にクローンを作成できます。

その他の情報:

  • Bitbucketは間違いなくポート7999でリッスンしています:

    $ Sudo netstat -tnlp | grep :7999
    
    tcp6 0 0 :::7999 :::* LISTEN 20707/Java  
    

    (プロセス20707がメインのBitbucketプロセスです)

  • Bitbucketは、SSLを提供するリバースプロキシとしてApacheの背後で実行されています。

  • ポート7999でBitbucketにクローンを作成できないインスタンスからのポート7999でのtcptracerouteとmtrは正常に接続します。
  • 接続できないインスタンスによって使用されるキーペアの公開キーは、Bitbucketの読み取りアクセス権を持つリポジトリのアクセスキーに追加されます。
  • AWSセキュリティグループでは、クローンインスタンスのグループはすべてのアウトバウンド接続を許可し、Bitbucketサーバーのグループはポート7999のどこからでも接続を許可します。
  • クローン作成インスタンスのポート7999でのtcpdumpの結果:

    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
    
    16:56:53.348387 IP (tos 0x0, ttl 64, id 61715, offset 0, flags [DF], proto TCP (6), length 60)
    (cloning server's hostname).38606 > (bitbucket server's hostname).irdmi2: Flags [S], cksum 0x2799 (incorrect -> 0xb1db), seq 3675985409, win 26883, options [mss 8961,sackOK,TS val 1512892178 ecr 0,nop,wscale 7], length 0
    
    16:56:53.489908 IP (tos 0x0, ttl 252, id 37586, offset 0, flags [none], proto TCP (6), length 40)
    (bitbucket server's hostname).irdmi2 > (cloning server's hostname).38606: Flags [R.], cksum 0x24e4 (correct), seq 1472002966, ack 3675985410, win 26883, length 0
    
  • クローンサーバーからBitbucketへのsshの結果:

     $ Sudo ssh -vvv -p 7999 ssh://[email protected]
     OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013
     debug1: Reading configuration data /root/.ssh/config
     debug1: Reading configuration data /etc/ssh/ssh_config
     debug1: /etc/ssh/ssh_config line 56: Applying options for *
     debug2: ssh_connect: needpriv 0
     debug1: Connecting to stash.tddevops.com [172.24.16.201] port 7999.
     debug1: connect to address 172.24.16.201 port 7999: Connection refused
     ssh: connect to Host stash.tddevops.com port 7999: Connection refused
    
  • bitbucketサーバーのtcpdumpは、クローンが試行されたときにデータを表示しません。

1
DylanSp

私は問題を見つけました。これは、セキュリティ部門のファイアウォールの外部の問題でした。クローンサーバーまたはBitbucketサーバーで変更する必要はありません。

0
DylanSp

から https://serverfault.com/a/288493/44206

TCPチェックサムオフロードと呼ばれる機能が原因で、「不正な」チェックサムが表示されます。発信TCPパケットのチェックサムフィールドは、オペレーティングシステムによって事前に計算されていません。ただし、代わりに0に設定し、NICプロセッサによる計算のために残します。WiresharkFAQには、より詳細な説明があります。

それは役立つかもしれませんが、あなたの問題はファイアウォールの問題のように聞こえます。このホストされたAWSサーバーで内部ファイアウォールが実行されていないことを確認しても問題はありません。実行しているOSがわからないと、何を探すべきかを推測することはできません。多くのLinuxオペレーティングシステムはiptablesを使用しています。たとえば、 here OracleLinuxまたはRedhatLinuxのファイアウォールをオフにして無効にする方法を確認できます。

0
Bill