1

以前に尋ねた質問をいくつか開いていますが、今では問題は にかなり関連しているようsshです。

  1. に Gitlab をインストールしました/home/myuser/gitlab
  2. 担当者を作りましたtest
  3. 指示に従って、リモートを追加しましたgit@localhost:root/testing.gitGitlabのサーバーはポート3000で実行されます)

今、プッシュしようとすると、次のエラー メッセージが表示されます。

$ git push -u origin master
    ssh: Could not resolve hostname mylocalhost: nodename nor servname provided, or not known
fatal: Could not read from remote repository.

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

ここで、ssh 接続に問題があることがわかりました。ここに私の/home/myhome/.ssh/configファイルがあります

Host mylocalhost
Hostname localhost
PORT 3000
User git
IdentityFile /home/myuser/.ssh/id_rsa.pub

実行するssh mylocalhostと、このメッセージが表示されます

ssh_exchange_identification: Connection closed by remote host

詳細モードでは、正しいポートで接続が確立されているように見えますが、ここでプロセスが失敗しますdebug1: ssh_exchange_identification: HTTP/1.1 400 Bad Request。私は/System/Library/LaunchDaemons/ssh.plist(私が使用してOSXいる)ポートをリッスンして転送するように更新しようとしまし3000たが、Gitlab Webrick Railsサーバーはもう実行されません。Lは変えようとしたgit remote set-url origin mylocalhost:testing.git

4

3 に答える 3

0

Gitlab の HTTP インターフェイスはおそらくポート 3000 で実行されていますが、リポジトリをプッシュするための SSH はそこで実行されていません。

のメッセージはssh: connect to host localhost port 22: Connection refused、SSH クライアントがlocalhostポート 22で SSH サーバーに接続できなかったことを意味します。gitlab が正しくインストールされ、Gitlab が正しく実行されていることを確認してください。また、ssh サーバーが実行されていて、ポート 22 で接続を受け入れることができることを確認します。

于 2013-07-19T13:25:03.510 に答える
0

完全に指定された URL を使用している場合、ポート 3000 を使用することは期待できません。

 git@localhost:root/testing.git

前に説明したように:

ssh 構成ファイルの考え方はfoobar、正しいサーバー名 ( Hostname)、ssh 秘密鍵 ( IdentityFile)、および ssh セッションを開くユーザーを設定するエントリ " " を定義することです。
これにより、' ssh foobar' を実行できるようになります (を配置する必要がなくgit@xxx、非標準の公開/秘密鍵ファイルを使用して)。
エントリをいくつでも定義できるため、さまざまなユーザーとキーを使用できます。

したがって、原点を で定義することはできませんgit@xxx。次のように入力する必要があります。

git remote add origin mylocalhost:testing.git 

または、origin が既に定義されていて、その URL を変更する必要がある場合:

git remote set-url origin mylocalhost:testing.git 

(いいえ ' root/' gitlab リポジトリの前にパスを指定しません: gitlab はリポジトリのフル パスを推測します)

ただし、sshd がポート 3000 で開始され、そのポート番号が含まれていることを確認する必要があります。gitlab.yml


ssh: Could not resolve hostname mylocalhost: nodename nor servname provided, or not known

つまり、ssh はエントリを~/.ssh/config含む を見つけることができません。 そのファイルが存在することを確認してください。mylocalhost

あなたの前の質問~/.git/config、sshとは何の関係もありません。

于 2013-07-19T13:42:02.420 に答える