1

秘密鍵とのセッション部分の接続、問題ありません。ただし、git Clone を実行すると、「Auth Fail」というエラーが発生します。接続されたセッションを git clone でラップ、バインド、または機能させるにはどうすればよいですか。私は .NET 4.0 で NGIT を使用していますが、JGIT はほとんど同じであるため、これは問題ではないと思います。

何か案は ?

ありがとうギャビン

        JSch jsch = new JSch();
        Session session = jsch.GetSession(gUser, gHost, 22);
        jsch.AddIdentity(PrivateKeyFile); // If I leave this line out, the session fails to Auth. therefore it works.
        Hashtable table = new Hashtable();
        table["StrictHostKeyChecking"] = "no"; // this works
        session.SetConfig(table);
        session.Connect(); // the session connects.



        URIish u = new URIish();
        u.SetPort(22);
        u.SetHost(gHost);
        u.SetUser(gUser);            
        NGit.Transport.JschSession jschSession = new JschSession(session,u );

        if (session.IsConnected())
        {
            try
            {
                CloneCommand clone = Git.CloneRepository()
                    .SetURI(gitAddress)
                    .SetDirectory(folderToSave);                                        
                clone.Call();                  

             //   MessageBox.Show(Status, gitAddress, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                // AUth Fail..... ????

            }
        }
        else
        {
            session.Disconnect();

        }
        session.Disconnect();
4

1 に答える 1