static async Task <int> Main(string[] args) { if (args.Length == 0) { System.Console.WriteLine("Specify a host to connect to"); return(1); } ParseUserHostAndPort(args, out string username, out string host, out int port); // string password = ReadPassword(); var settings = new SshClientSettings { Host = host, Port = port, UserName = username, Credentials = { new IdentityFileCredential() } // Credentials = { new PasswordCredential(username, password) } }; await using var client = new SshClient(settings, CreateLogger()); await client.ConnectAsync(); return(0); }
public void Defaults() { var settings = new SshClientSettings(); Assert.Equal(TimeSpan.FromSeconds(15), settings.ConnectTimeout); Assert.Equal(string.Empty, settings.UserName); Assert.Equal(string.Empty, settings.Host); Assert.Equal(22, settings.Port); Assert.Empty(settings.Credentials); Assert.Equal(DefaultKnownHostsFile, settings.KnownHostsFile); Assert.True(settings.CheckGlobalKnownHostsFile); Assert.Null(settings.KeyVerification); }
public async Task <SshClient> CreateClientAsync(Action <SshClientSettings> configure = null) { var settings = new SshClientSettings(); IPEndPoint ipEndPoint = _serverSocket.LocalEndPoint as IPEndPoint; settings.Host = ipEndPoint.Address.ToString(); settings.Port = ipEndPoint.Port; configure?.Invoke(settings); var client = new SshClient(settings); await client.ConnectAsync(); return(client); }