Esempio n. 1
0
        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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
0
        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);
        }