diff --git a/CHANGES b/CHANGES
index b61afe82a6ed70bfb2d00ea03ef813bf83fdb1db..0491327cce3686fde6cf30a8c617d83dc506855e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,9 @@
 
                                   Changelog
 
+Daniel Fandrich (18 Jun 2008)
+- Added SSH failure test cases 628-632
+
 Daniel Stenberg (18 Jun 2008)
 - Rob Crittenden brought a fix for the NSS layer that makes libcurl no longer
   always fire up a new connection rather than using the existing one when the
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index bc78cb2e84fd88dedd4c0112caabe3c39118cb12..7ea9b3bf8e9f04cda04270bd2f864eba6dded273 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -51,7 +51,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46	   \
  test1021 test1022 test1023 test309 test616 test617 test618 test619        \
  test620 test621 test622 test623 test624 test625 test626 test627 test554   \
  test1024 test1025 test555 test1026 test1027 test1028 test1029 test1030    \
- test556 test1031
+ test556 test1031 test628 test629 test630 test631 test632
 
 filecheck:
 	@mkdir test-place; \
diff --git a/tests/data/test628 b/tests/data/test628
new file mode 100644
index 0000000000000000000000000000000000000000..f24fe05ab721320ebc0411535bf1103c64f8d429
--- /dev/null
+++ b/tests/data/test628
@@ -0,0 +1,33 @@
+<testcase>
+<info>
+<keywords>
+SFTP
+FAILURE
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+sftp
+</server>
+ <name>
+SFTP invalid user login (password authentication)
+ </name>
+ <command>
+-u not-a-valid-user: sftp://%HOSTIP:%SSHPORT%PWD/irrelevant-file
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+67
+</errorcode>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>
diff --git a/tests/data/test629 b/tests/data/test629
new file mode 100644
index 0000000000000000000000000000000000000000..621f7416f67255c14241d8a175b3c111e8f7e4af
--- /dev/null
+++ b/tests/data/test629
@@ -0,0 +1,33 @@
+<testcase>
+<info>
+<keywords>
+SCP
+FAILURE
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+scp
+</server>
+ <name>
+SCP invalid user login (password authentication)
+ </name>
+ <command>
+-u not-a-valid-user: scp://%HOSTIP:%SSHPORT%PWD/irrelevant-file
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+67
+</errorcode>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>
diff --git a/tests/data/test630 b/tests/data/test630
new file mode 100644
index 0000000000000000000000000000000000000000..90d364b384dbba6c705034396a9ec8194d0eacde
--- /dev/null
+++ b/tests/data/test630
@@ -0,0 +1,34 @@
+<testcase>
+<info>
+<keywords>
+SFTP
+FAILURE
+server key check
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+sftp
+</server>
+ <name>
+SFTP incorrect host key
+ </name>
+ <command>
+--hostpubmd5 00000000000000000000000000000000 --key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/irrelevant-file
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+51
+</errorcode>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>
diff --git a/tests/data/test631 b/tests/data/test631
new file mode 100644
index 0000000000000000000000000000000000000000..f3d8146a052e8599c00953b11c81e260a11a7822
--- /dev/null
+++ b/tests/data/test631
@@ -0,0 +1,34 @@
+<testcase>
+<info>
+<keywords>
+SCP
+FAILURE
+server key check
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+scp
+</server>
+ <name>
+SCP incorrect host key
+ </name>
+ <command>
+--hostpubmd5 00000000000000000000000000000000 --key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/irrelevant-file
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+51
+</errorcode>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>
diff --git a/tests/data/test632 b/tests/data/test632
new file mode 100644
index 0000000000000000000000000000000000000000..1b2ad31cbc9b7aba07707f474ac6395da5b9ce92
--- /dev/null
+++ b/tests/data/test632
@@ -0,0 +1,34 @@
+<testcase>
+<info>
+<keywords>
+SFTP
+FAILURE
+server key check
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+none
+</server>
+<features>
+sftp
+</features>
+ <name>
+SFTP syntactically invalid host key
+ </name>
+ <command>
+--hostpubmd5 00 --key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/irrelevant-file
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+2
+</errorcode>
+</verify>
+</testcase>