Javaによるユーザー名とパスワードを使用してssh経由でgitリポジトリのクローンを作成する

ヌリ・タスデミール

sshを介してJavaでgitプロジェクトのクローンを作成しようとしています。資格情報としてgit-shellユーザーのユーザー名とパスワードを持っています。次のコマンドを使用して、ターミナルでプロジェクトのクローンを作成できます。(もちろん、最初にパスワードを要求します)

git clone user@HOST:/path/Example.git

ただし、JGITAPIを使用して次のコードを試すと

File localPath = new File("TempProject");
Git.cloneRepository()
    .setURI("ssh://HOST/path/example.git")
    .setDirectory(localPath)
    .setCredentialsProvider(new UsernamePasswordCredentialsProvider("***", "***"))
    .call();

私は得た

Exception in thread "main" org.eclipse.jgit.api.errors.TransportException: ssh://HOST/path/example.git: Auth fail

私は何をすべきか?何か案は?(私はOSX10.9.4とJDK1.8を使用しています)

RüdigerHerrmann

SSHによる認証の場合、JGitはJSchを使用します。JSchは、SshSessionFactorySSH接続を作成および破棄するための提供します。どのSSHセッションファクトリを使用する必要があるかをJGitに伝える最も簡単な方法は、を介してグローバルに設定することSshSessionFactory.setInstance()です。

JGitは抽象を提供しJschConfigSessionFactory、そのconfigureメソッドをオーバーライドしてパスワードを提供できます。

SshSessionFactory.setInstance( new JschConfigSessionFactory() {
    @Override
    protected void configure( Host host, Session session ) {
      session.setPassword( "password" );
    }
} );
Git.cloneRepository()
  .setURI( "ssh://username@host/path/repo.git" )
  .setDirectory( "/path/to/local/repo" )
  .call();

SshSessionFactoryより賢明な方法でを設定することは少し複雑です。CloneCommand-から継承-接続を開く可能性のあるすべてのJGitのコマンドクラスのようにTransportCommandこのクラスにはsetTransportConfigCallback()、実際のコマンドのSSHセッションファクトリを指定するためにも使用できるメソッドがあります。

CloneCommand cloneCommand = Git.cloneRepository();
cloneCommand.setTransportConfigCallback( new TransportConfigCallback() {
  @Override
  public void configure( Transport transport ) {
    if( transport instanceof SshTransport ) {
      SshTransport sshTransport = ( SshTransport )transport;
      sshTransport.setSshSessionFactory( ... );
    }
  }
} );

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

GitHub以外のユーザーのパスワードによるプライベートリポジトリのクローン作成を許可する

分類Dev

Javaを使用したSOAPUIのように、ユーザー名とパスワードを使用してSOAPリクエストを送信する方法

分類Dev

Javaを使用したSOAPUIのように、ユーザー名とパスワードを使用してSOAPリクエストを送信する方法

分類Dev

リポジトリのクローンを作成するときに、コマンドラインでgithubのユーザー名/パスワードの再入力を求める方法

分類Dev

クローンリクエストでgitにユーザー名とパスワードの入力を強制する方法

分類Dev

別のユーザーとしてssh経由でリモートに引数を渡すことによってローカルスクリプトを実行するにはどうすればよいですか?

分類Dev

Pythonスクリプトを使用してすべてのユーザーのパスワードベースのSSHログインを拒否する

分類Dev

クライアント/サーバーアプリ、ユーザーのユーザー名/パスワードをリモートシステムに転送せずに、ドメインユーザーとしてリモートシステム上にプロセスを作成するにはどうすればよいですか?

分類Dev

GITパスワードなしでプルするようにGIT経由でHTTPSクローンプロジェクトを構成する

分類Dev

リモートコマンドが使用するSSH経由でパスワードを安全に送信する方法

分類Dev

ユーザー名/パスワードを使用したgithubリポジトリのクローン作成の問題

分類Dev

SSH経由でモジュールをダウンロードするためのbitbucketgitリポジトリソースの使用に関する問題

分類Dev

ユーザー名とパスワードが空のときにログインボタンをクリックしてリダイレクトを停止するにはどうすればよいですか?

分類Dev

Javaでユーザー名とパスワードを使用してデータベースを作成する

分類Dev

Bashスクリプトで新しいユーザー名とパスワードを作成するにはどうすればよいですか?

分類Dev

Ansibleを使用してBitbucketからgitリポジトリのクローンを作成する-パスワードを2、3回要求された

分類Dev

HTTP経由でAWScodecommitリポジトリのクローンを作成する

分類Dev

ユーザー名とホスト名の代わりにホスト名を使用してSSH経由で接続する

分類Dev

ユーザー入力のあるループを使用してPython経由で画像リストをダウンロードする

分類Dev

Javaスクリプトを使用してユーザーがWebページをリロードした回数を確認するためのカウンターを作成するにはどうすればよいですか?

分類Dev

ユーザーのパスワードを使用してユーザー名を暗号化することは、ユーザーがサービスにログインできるようにするための実行可能で安全な方法ですか?

分類Dev

Symfony HttpClientコンポーネントのCurlHttpClientにIP /ポートとユーザー名/パスワードを使用してプロキシを追加するにはどうすればよいですか?

分類Dev

socks5のユーザー名とパスワードを使用してrequesocksリクエストを行うにはどうすればよいですか?

分類Dev

socks5のユーザー名とパスワードを使用してrequesocksリクエストを行うにはどうすればよいですか?

分類Dev

sshを使用してnodegitでgitリポジトリのクローンを作成する方法

分類Dev

SSH経由でリモートシェルスクリプトを実行し、そのスクリプトでそれを必要とするコマンドによってパスワードの入力を求められるにはどうすればよいですか?

分類Dev

ユーザーフォームのテキストボックスとマクロを使用して、ワークブックのセルにハードドライブファイルへのハイパーリンクを作成する方法

分類Dev

Gitlabは、gitリポジトリのクローンを作成するときにgitパスワードの入力を求めます

分類Dev

スクリプト内のユーザー名とパスワードを使用してGNU画面でログインします

Related 関連記事

  1. 1

    GitHub以外のユーザーのパスワードによるプライベートリポジトリのクローン作成を許可する

  2. 2

    Javaを使用したSOAPUIのように、ユーザー名とパスワードを使用してSOAPリクエストを送信する方法

  3. 3

    Javaを使用したSOAPUIのように、ユーザー名とパスワードを使用してSOAPリクエストを送信する方法

  4. 4

    リポジトリのクローンを作成するときに、コマンドラインでgithubのユーザー名/パスワードの再入力を求める方法

  5. 5

    クローンリクエストでgitにユーザー名とパスワードの入力を強制する方法

  6. 6

    別のユーザーとしてssh経由でリモートに引数を渡すことによってローカルスクリプトを実行するにはどうすればよいですか?

  7. 7

    Pythonスクリプトを使用してすべてのユーザーのパスワードベースのSSHログインを拒否する

  8. 8

    クライアント/サーバーアプリ、ユーザーのユーザー名/パスワードをリモートシステムに転送せずに、ドメインユーザーとしてリモートシステム上にプロセスを作成するにはどうすればよいですか?

  9. 9

    GITパスワードなしでプルするようにGIT経由でHTTPSクローンプロジェクトを構成する

  10. 10

    リモートコマンドが使用するSSH経由でパスワードを安全に送信する方法

  11. 11

    ユーザー名/パスワードを使用したgithubリポジトリのクローン作成の問題

  12. 12

    SSH経由でモジュールをダウンロードするためのbitbucketgitリポジトリソースの使用に関する問題

  13. 13

    ユーザー名とパスワードが空のときにログインボタンをクリックしてリダイレクトを停止するにはどうすればよいですか?

  14. 14

    Javaでユーザー名とパスワードを使用してデータベースを作成する

  15. 15

    Bashスクリプトで新しいユーザー名とパスワードを作成するにはどうすればよいですか?

  16. 16

    Ansibleを使用してBitbucketからgitリポジトリのクローンを作成する-パスワードを2、3回要求された

  17. 17

    HTTP経由でAWScodecommitリポジトリのクローンを作成する

  18. 18

    ユーザー名とホスト名の代わりにホスト名を使用してSSH経由で接続する

  19. 19

    ユーザー入力のあるループを使用してPython経由で画像リストをダウンロードする

  20. 20

    Javaスクリプトを使用してユーザーがWebページをリロードした回数を確認するためのカウンターを作成するにはどうすればよいですか?

  21. 21

    ユーザーのパスワードを使用してユーザー名を暗号化することは、ユーザーがサービスにログインできるようにするための実行可能で安全な方法ですか?

  22. 22

    Symfony HttpClientコンポーネントのCurlHttpClientにIP /ポートとユーザー名/パスワードを使用してプロキシを追加するにはどうすればよいですか?

  23. 23

    socks5のユーザー名とパスワードを使用してrequesocksリクエストを行うにはどうすればよいですか?

  24. 24

    socks5のユーザー名とパスワードを使用してrequesocksリクエストを行うにはどうすればよいですか?

  25. 25

    sshを使用してnodegitでgitリポジトリのクローンを作成する方法

  26. 26

    SSH経由でリモートシェルスクリプトを実行し、そのスクリプトでそれを必要とするコマンドによってパスワードの入力を求められるにはどうすればよいですか?

  27. 27

    ユーザーフォームのテキストボックスとマクロを使用して、ワークブックのセルにハードドライブファイルへのハイパーリンクを作成する方法

  28. 28

    Gitlabは、gitリポジトリのクローンを作成するときにgitパスワードの入力を求めます

  29. 29

    スクリプト内のユーザー名とパスワードを使用してGNU画面でログインします

ホットタグ

アーカイブ