对于使用SSH进行身份验证,JGit使用
JSch.JSch提供了一个SshSessionFactory来创建和配置SSH连接.告诉JGit应该使用哪个SSH会话工厂的最快方法是通过SshSessionFactory.setInstance()全局设置它.
JGit提供了一个抽象的JschConfigSessionFactory,可以重写其配置方法以提供密码:
SshSessionFactory.setInstance( new JschConfigSessionFactory() {
@Override
git ssh克隆,protected void configure( Host host, Session session ) {
session.setPassword( "password" );
}
} );
Git.cloneRepository()
.setURI( "ssh://username@host/path/repo.git" )
ssh java。.setDirectory( "/path/to/local/repo" )
.call();
以更合理的方式设置SshSessionFactory稍微复杂一些. CloneCommand – 与可能打开连接的所有JGit命令类一样 – 继承自TransportCommand.此类具有setTransportConfigCallback()方法,该方法还可用于为实际命令指定SSH会话工厂.
CloneCommand cloneCommand = Git.cloneRepository();
cloneCommand.setTransportConfigCallback( new TransportConfigCallback() {
@Override
git clone 用户名?public void configure( Transport transport ) {
if( transport instanceof SshTransport ) {
SshTransport sshTransport = ( SshTransport )transport;
sshTransport.setSshSessionFactory( ... );
}
}
git配置ssh。} );
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态