fix warnings and allow passing user name and password on the command line
This commit is contained in:
parent
ef8d1a2af8
commit
f7f897df07
@ -14,12 +14,15 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
int sock, i, auth_pw = 1;
|
int sock, i, auth_pw = 1;
|
||||||
struct sockaddr_in sin;
|
struct sockaddr_in sin;
|
||||||
const char *fingerprint;
|
const char *fingerprint;
|
||||||
LIBSSH2_SESSION *session;
|
LIBSSH2_SESSION *session;
|
||||||
LIBSSH2_CHANNEL *channel;
|
LIBSSH2_CHANNEL *channel;
|
||||||
|
char *username=(char *)"username";
|
||||||
|
char *password=(char *)"password";
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
WSADATA wsadata;
|
WSADATA wsadata;
|
||||||
|
|
||||||
@ -61,15 +64,22 @@ int main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
|
if(argc > 1) {
|
||||||
|
username = argv[1];
|
||||||
|
}
|
||||||
|
if(argc > 2) {
|
||||||
|
password = argv[2];
|
||||||
|
}
|
||||||
|
|
||||||
if (auth_pw) {
|
if (auth_pw) {
|
||||||
/* We could authenticate via password */
|
/* We could authenticate via password */
|
||||||
if (libssh2_userauth_password(session, "username", "password")) {
|
if (libssh2_userauth_password(session, username, password)) {
|
||||||
printf("Authentication by password failed.\n");
|
printf("Authentication by password failed.\n");
|
||||||
goto shutdown;
|
goto shutdown;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* Or by public key */
|
/* Or by public key */
|
||||||
if (libssh2_userauth_publickey_fromfile(session, "username", "/home/username/.ssh/id_rsa.pub", "/home/username/.ssh/id_rsa", "pasphrase")) {
|
if (libssh2_userauth_publickey_fromfile(session, username, "/home/username/.ssh/id_rsa.pub", "/home/username/.ssh/id_rsa", password)) {
|
||||||
printf("\tAuthentication by public key failed\n");
|
printf("\tAuthentication by public key failed\n");
|
||||||
goto shutdown;
|
goto shutdown;
|
||||||
}
|
}
|
||||||
@ -84,12 +94,12 @@ int main(int argc, char *argv[]) {
|
|||||||
/* Some environment variables may be set,
|
/* Some environment variables may be set,
|
||||||
* It's up to the server which ones it'll allow though
|
* It's up to the server which ones it'll allow though
|
||||||
*/
|
*/
|
||||||
libssh2_channel_setenv(channel, "FOO", "bar");
|
libssh2_channel_setenv(channel, (char *)"FOO", (char *)"bar");
|
||||||
|
|
||||||
/* Request a terminal with 'vanilla' terminal emulation
|
/* Request a terminal with 'vanilla' terminal emulation
|
||||||
* See /etc/termcap for more options
|
* See /etc/termcap for more options
|
||||||
*/
|
*/
|
||||||
if (libssh2_channel_request_pty(channel, "vanilla")) {
|
if (libssh2_channel_request_pty(channel, (char *)"vanilla")) {
|
||||||
fprintf(stderr, "Failed requesting pty\n");
|
fprintf(stderr, "Failed requesting pty\n");
|
||||||
goto skip_shell;
|
goto skip_shell;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user