in wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/SshServerEmbedded.java [88:177]
public int start()
throws IOException
{
sshd.setPort( 0 );
sshd.setUserAuthFactories( Arrays.asList( new UserAuthPublicKey.Factory(), new UserAuthPassword.Factory() ) );
sshd.setPublickeyAuthenticator( this.publickeyAuthenticator );
sshd.setPasswordAuthenticator( this.passwordAuthenticator );
sshd.setUserAuthFactories( Arrays.asList( new UserAuthPublicKey.Factory(), new UserAuthPassword.Factory() ) );
//ResourceKeyPairProvider resourceKeyPairProvider =
// new ResourceKeyPairProvider( sshKeysResources.toArray( new String[sshKeysResources.size()] ) );
File path = new File( "target/keys" );
path.mkdirs();
path = new File( path, "simple.key" );
path.delete();
PEMGeneratorHostKeyProvider provider = new PEMGeneratorHostKeyProvider();
provider.setAlgorithm( "RSA" );
provider.setKeySize( 1024 );
provider.setPath( path.getPath() );
sshd.setKeyPairProvider( provider );
SessionFactory sessionFactory = new SessionFactory()
{
@Override
protected AbstractSession doCreateSession( IoSession ioSession )
throws Exception
{
return super.doCreateSession( ioSession );
}
};
sshd.setSessionFactory( sessionFactory );
//sshd.setFileSystemFactory( );
final ProcessShellFactory processShellFactory =
new ProcessShellFactory( new String[]{ "/bin/sh", "-i", "-l" } );
sshd.setShellFactory( processShellFactory );
CommandFactory delegateCommandFactory = new CommandFactory()
{
public Command createCommand( String command )
{
return new ShellCommand( command );
}
};
ScpCommandFactory commandFactory = new ScpCommandFactory( delegateCommandFactory );
sshd.setCommandFactory( commandFactory );
FileSystemFactory fileSystemFactory = new FileSystemFactory()
{
public FileSystemView createFileSystemView( Session session )
throws IOException
{
return new FileSystemView()
{
public SshFile getFile( String file )
{
file = file.replace( "\\", "" );
file = file.replace( "\"", "" );
File f = new File( FileUtils.normalize( file ) );
return new SshServerEmbedded.TestSshFile( f.getAbsolutePath(), f,
System.getProperty( "user.name" ) );
}
public SshFile getFile( SshFile baseDir, String file )
{
file = file.replace( "\\", "" );
file = file.replace( "\"", "" );
File f = new File( FileUtils.normalize( file ) );
return new SshServerEmbedded.TestSshFile( f.getAbsolutePath(), f,
System.getProperty( "user.name" ) );
}
};
}
};
sshd.setNioWorkers( 0 );
//sshd.setScheduledExecutorService( );
sshd.setFileSystemFactory( fileSystemFactory );
sshd.start();
this.port = sshd.getPort();
return this.port;
}