代码之家  ›  专栏  ›  技术社区  ›  Malaiselvan

ssh:连接到主机xxx。y、 z.aaa端口22:连接被拒绝

  •  0
  • Malaiselvan  · 技术社区  · 6 年前

    我对git很陌生。正在尝试在Linux服务器上设置我自己的裸git远程存储库,并从本地存储库推送文件。我查阅了一些手册,设置了远程和本地的历史记录。

    当我从本地存储库推送时,连接被拒绝。我已经在服务器中创建了一个SSH密钥,我可以通过Putty从本地终端使用不同的端口(34891)进行连接。

    需要帮助我如何将本地存储库推送到远程存储库。

    下面是我的服务器。远程存储库看起来不错

    [myname@octopus gitrepo.git]$ pwd
    /media2/myname/gitrepo.git
    [myname@octopus gitrepo.git]$ ls -l
    total 28
    -rw-rw-r-- 1 myname myname   23 Oct 17 23:45 HEAD
    -rw-rw-r-- 1 myname myname   84 Oct 17 23:45 config
    -rw-rw-r-- 1 myname myname   73 Oct 17 23:45 description
    drwxrwxr-x 2 myname myname 4096 Oct 17 23:45 hooks
    drwxrwxr-x 2 myname myname 4096 Oct 17 23:45 info
    drwxrwxr-x 4 myname myname 4096 Oct 17 23:45 objects
    drwxrwxr-x 4 myname myname 4096 Oct 17 23:45 refs
    [myname@octopus gitrepo.git]$
    

    下面是我的本地存储库中使用的命令

    Malai@MALAI MINGW64 /e/gitrepo/test (master)
    $ ls
    new.txt
    
    Malai@MALAI MINGW64 /e/gitrepo/test (master)
    $ git remote add origin myname@xxx.y.z.aaa:/media2/myname/gitrepo.git
    
    Malai@MALAI MINGW64 /e/gitrepo/test (master)
    $ git remote -v
    origin  myname@xxx.y.z.aaa:/media2/myname/gitrepo.git (fetch)
    origin  myname@xxx.y.z.aaa:/media2/myname/gitrepo.git (push)
    
    Malai@MALAI MINGW64 /e/gitrepo/test (master)
    $ git push -u origin master
    ssh: connect to host xxx.y.z.aaa port 22: Connection refused
    fatal: Could not read from remote repository.
    
    Please make sure you have the correct access rights
    and the repository exists.
    

    我还尝试添加端口号,如下所示,但仍然存在相同的错误

    git remote add origin myname@xxx.y.z.aaa:34891/media2/myname/gitrepo.git
    

    在ssh_config中,我添加了IP地址和端口号,如下所示

    Host xxx.y.z.aaa
    Port 34891
    

    当我尝试连接时,它要求输入密码。但他说,许可被拒绝。

    Malai@MALAI MINGW64 /e/gitrepo/test (master)
    $ ssh -T -p 34891 myname@xxx.y.z.aaa
    myname@xxx.y.z.aaa's password:
    Permission denied, please try again.
    

    我错过什么了吗?我应该把私钥放在什么地方吗?或者我应该在ssh配置中进行任何配置?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Malaiselvan    6 年前

    进行以下更改后,问题已解决。

    编辑了C:\Program Files\Git\etc\ssh下的ssh_config文件,并添加了以下行

    Host xxx.y.z.aaa
    Port 34891
    IdentityFile E:\sshkeys\ssh_myname
    

    IdentifyFile是从我的服务器下载的id_rsa文件的路径。

    一旦做出这些改变,它就开始工作了

    Malai@MALAI MINGW64 /e/gitrepo/test (master)
    $ git push -u origin master
    Enter passphrase for key 'E:\sshkeys\ssh_myname':
    Enumerating objects: 3, done.
    Counting objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 211 bytes | 70.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To xxx.y.z.aaa:/media2/myname/gitrepo.git
     * [new branch]      master -> master
    Branch 'master' set up to track remote branch 'master' from 'origin'.
    
        2
  •  0
  •   Rigel F. do C.    6 年前

    我在Linux集群上也遇到了同样的问题,通过添加以下内容解决了这个问题:

    [user]
    email = name@address.com
    

    .../repository/.git/config