Add example for host key validation.

This commit is contained in:
Gert Driesen
2017-09-09 13:35:53 +02:00
committed by GitHub
parent 5128b16778
commit 4e9ceadfd3
+38 -1
View File
@@ -59,7 +59,10 @@ This project was inspired by **Sharp.SSH** library which was ported from java an
* Universal Windows Platform 10
## Usage
Establish an SFTP connection using both password and public-key authentication:
### Multi-factor authentication
Establish a SFTP connection using both password and public-key authentication:
```cs
var connectionInfo = new ConnectionInfo("sftp.foo.com",
@@ -73,6 +76,40 @@ using (var client = new SftpClient(connectionInfo))
```
### Verify host identify
Establish a SSH connection using user name and password, and reject the connection if the fingerprint of the server does not match the expected fingerprint:
```cs
byte[] expectedFingerPrint = new byte[] {
0x66, 0x31, 0xaf, 0x00, 0x54, 0xb9, 0x87, 0x31,
0xff, 0x58, 0x1c, 0x31, 0xb1, 0xa2, 0x4c, 0x6b
};
using (var client = new SshClient("sftp.foo.com", "guest", "pwd"))
{
client.HostKeyReceived += (sender, e) =>
{
if (expectedFingerPrint.Length != e.FingerPrint.Length)
{
for (var i = 0; i < expectedFingerPrint.Length; i++)
{
if (expectedFingerPrint[i] != e.FingerPrint[i])
{
e.CanTrust = false;
break;
}
}
}
else
{
e.CanTrust = false;
}
};
client.Connect();
}
```
## Building SSH.NET
Software | net35 | net40 | netstandard1.3 | sl4 | sl5 | wp71 | wp8 | uap10.0 |