version 1.332, 2019/06/21 04:21:04 |
version 1.333, 2019/06/28 13:35:04 |
|
|
|
|
if (!have_identity) |
if (!have_identity) |
ask_filename(pw, "Enter file in which the key is"); |
ask_filename(pw, "Enter file in which the key is"); |
if (stat(identity_file, &st) < 0) |
if (stat(identity_file, &st) == -1) |
fatal("%s: %s: %s", __progname, identity_file, strerror(errno)); |
fatal("%s: %s: %s", __progname, identity_file, strerror(errno)); |
if ((r = sshkey_load_public(identity_file, &k, NULL)) != 0) |
if ((r = sshkey_load_public(identity_file, &k, NULL)) != 0) |
k = load_identity(identity_file); |
k = load_identity(identity_file); |
|
|
|
|
if (!have_identity) |
if (!have_identity) |
ask_filename(pw, "Enter file in which the key is"); |
ask_filename(pw, "Enter file in which the key is"); |
if (stat(identity_file, &st) < 0) |
if (stat(identity_file, &st) == -1) |
fatal("%s: %s: %s", __progname, identity_file, strerror(errno)); |
fatal("%s: %s: %s", __progname, identity_file, strerror(errno)); |
|
|
switch (convert_format) { |
switch (convert_format) { |
|
|
|
|
if (!have_identity) |
if (!have_identity) |
ask_filename(pw, "Enter file in which the key is"); |
ask_filename(pw, "Enter file in which the key is"); |
if (stat(identity_file, &st) < 0) |
if (stat(identity_file, &st) == -1) |
fatal("%s: %s", identity_file, strerror(errno)); |
fatal("%s: %s", identity_file, strerror(errno)); |
prv = load_identity(identity_file); |
prv = load_identity(identity_file); |
if ((r = sshkey_write(prv, stdout)) != 0) |
if ((r = sshkey_write(prv, stdout)) != 0) |
|
|
struct sshkey *public = NULL; |
struct sshkey *public = NULL; |
int r; |
int r; |
|
|
if (stat(identity_file, &st) < 0) |
if (stat(identity_file, &st) == -1) |
fatal("%s: %s", path, strerror(errno)); |
fatal("%s: %s", path, strerror(errno)); |
if ((r = sshkey_load_public(path, &public, &comment)) != 0) { |
if ((r = sshkey_load_public(path, &public, &comment)) != 0) { |
debug("load public \"%s\": %s", path, ssh_err(r)); |
debug("load public \"%s\": %s", path, ssh_err(r)); |
|
|
|
|
if (!have_identity) |
if (!have_identity) |
ask_filename(pw, "Enter file in which the key is"); |
ask_filename(pw, "Enter file in which the key is"); |
if (stat(identity_file, &st) < 0) |
if (stat(identity_file, &st) == -1) |
fatal("%s: %s", identity_file, strerror(errno)); |
fatal("%s: %s", identity_file, strerror(errno)); |
/* Try to load the file with empty passphrase. */ |
/* Try to load the file with empty passphrase. */ |
r = sshkey_load_private(identity_file, "", &private, &comment); |
r = sshkey_load_private(identity_file, "", &private, &comment); |
|
|
|
|
if (fname == NULL) |
if (fname == NULL) |
fatal("%s: no filename", __func__); |
fatal("%s: no filename", __func__); |
if (stat(fname, &st) < 0) { |
if (stat(fname, &st) == -1) { |
if (errno == ENOENT) |
if (errno == ENOENT) |
return 0; |
return 0; |
fatal("%s: %s", fname, strerror(errno)); |
fatal("%s: %s", fname, strerror(errno)); |
|
|
|
|
if (!have_identity) |
if (!have_identity) |
ask_filename(pw, "Enter file in which the key is"); |
ask_filename(pw, "Enter file in which the key is"); |
if (stat(identity_file, &st) < 0) |
if (stat(identity_file, &st) == -1) |
fatal("%s: %s", identity_file, strerror(errno)); |
fatal("%s: %s", identity_file, strerror(errno)); |
if ((r = sshkey_load_private(identity_file, "", |
if ((r = sshkey_load_private(identity_file, "", |
&private, &comment)) == 0) |
&private, &comment)) == 0) |
|
|
|
|
if (!have_identity) |
if (!have_identity) |
ask_filename(pw, "Enter file in which the key is"); |
ask_filename(pw, "Enter file in which the key is"); |
if (strcmp(identity_file, "-") != 0 && stat(identity_file, &st) < 0) |
if (strcmp(identity_file, "-") != 0 && stat(identity_file, &st) == -1) |
fatal("%s: %s: %s", __progname, identity_file, strerror(errno)); |
fatal("%s: %s: %s", __progname, identity_file, strerror(errno)); |
|
|
path = identity_file; |
path = identity_file; |
|
|
pw = getpwuid(getuid()); |
pw = getpwuid(getuid()); |
if (!pw) |
if (!pw) |
fatal("No user exists for uid %lu", (u_long)getuid()); |
fatal("No user exists for uid %lu", (u_long)getuid()); |
if (gethostname(hostname, sizeof(hostname)) < 0) |
if (gethostname(hostname, sizeof(hostname)) == -1) |
fatal("gethostname: %s", strerror(errno)); |
fatal("gethostname: %s", strerror(errno)); |
|
|
/* Remaining characters: Ydw */ |
/* Remaining characters: Ydw */ |
|
|
snprintf(dotsshdir, sizeof dotsshdir, "%s/%s", |
snprintf(dotsshdir, sizeof dotsshdir, "%s/%s", |
pw->pw_dir, _PATH_SSH_USER_DIR); |
pw->pw_dir, _PATH_SSH_USER_DIR); |
if (strstr(identity_file, dotsshdir) != NULL) { |
if (strstr(identity_file, dotsshdir) != NULL) { |
if (stat(dotsshdir, &st) < 0) { |
if (stat(dotsshdir, &st) == -1) { |
if (errno != ENOENT) { |
if (errno != ENOENT) { |
error("Could not stat %s: %s", dotsshdir, |
error("Could not stat %s: %s", dotsshdir, |
strerror(errno)); |
strerror(errno)); |
} else if (mkdir(dotsshdir, 0700) < 0) { |
} else if (mkdir(dotsshdir, 0700) == -1) { |
error("Could not create directory '%s': %s", |
error("Could not create directory '%s': %s", |
dotsshdir, strerror(errno)); |
dotsshdir, strerror(errno)); |
} else if (!quiet) |
} else if (!quiet) |