diff --git a/ssh-keygen.c b/ssh-keygen.c
index 5d9fa64..9f519e5 100644
--- a/ssh-keygen.c
+++ b/ssh-keygen.c
@@ -12,22 +12,20 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh-keygen.c,v 1.39 2001/01/13 18:03:07 markus Exp $");
+RCSID("$OpenBSD: ssh-keygen.c,v 1.41 2001/01/21 19:05:57 markus Exp $");
 
 #include <openssl/evp.h>
 #include <openssl/pem.h>
-#include <openssl/rsa.h>
-#include <openssl/dsa.h>
 
-#include "ssh.h"
 #include "xmalloc.h"
 #include "key.h"
-#include "rsa.h"
 #include "authfile.h"
 #include "uuencode.h"
-
 #include "buffer.h"
 #include "bufaux.h"
+#include "pathnames.h"
+#include "log.h"
+#include "readpass.h"
 
 /* Number of bits in the RSA/DSA key.  This value can be changed on the command line. */
 int bits = 1024;
@@ -87,13 +85,13 @@
 
 	switch (key_type_from_name(key_type_name)) {
 	case KEY_RSA1:
-		name = SSH_CLIENT_IDENTITY;
+		name = _PATH_SSH_CLIENT_IDENTITY;
 		break;
 	case KEY_DSA:
-		name = SSH_CLIENT_ID_DSA;
+		name = _PATH_SSH_CLIENT_ID_DSA;
 		break;
 	case KEY_RSA:
-		name = SSH_CLIENT_ID_RSA;
+		name = _PATH_SSH_CLIENT_ID_RSA;
 		break;
 	default:
 		fprintf(stderr, "bad key type");
@@ -757,7 +755,7 @@
 		ask_filename(pw, "Enter file in which to save the key");
 
 	/* Create ~/.ssh directory if it doesn\'t already exist. */
-	snprintf(dotsshdir, sizeof dotsshdir, "%s/%s", pw->pw_dir, SSH_USER_DIR);
+	snprintf(dotsshdir, sizeof dotsshdir, "%s/%s", pw->pw_dir, _PATH_SSH_USER_DIR);
 	if (strstr(identity_file, dotsshdir) != NULL &&
 	    stat(dotsshdir, &st) < 0) {
 		if (mkdir(dotsshdir, 0700) < 0)
