Java and SSH - Mr.Kurd - 12-20-2018
In The Name OF Allah
Al-Salam Alekum
Hello guys, Long time because of my exams I hadn't time to come online. Today I'm going to explain using JSch library in Java to connect with SSH server, executing commands and downloading files. I hope ye all like it...
Start your IDE I'm using NetBeans. Add JSch library Download it from here
In this example we will connect to our server(VPS) through SSH and run a command (cd /var/www && ls).
PHP Code: /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ssh;
import java.io.InputStream;
import java.util.Properties;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
public class SSHConnectionJava {
public static void main(String[] args) {
//Host IP
String host = "1.1.1.1";
//Host User
String user = "root";
//Host Password
String password = "12345678";
try {
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
// Create a JSch session to connect to the server
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
// Establish the connection
session.connect();
System.out.println("Connected...");
ChannelExec channel = (ChannelExec) session.openChannel("exec");
//Executing a command
channel.setCommand("cd /var/www/ && ls");
channel.setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
byte[] tmp = new byte[1024];
while (true) {
while (in.available() > 0) {
int i = in.read(tmp, 0, 1024);
if (i < 0) {
break;
}
System.out.print(new String(tmp, 0, i));
}
if (channel.isClosed()) {
System.out.println("Exit Status: "
+ channel.getExitStatus());
break;
}
Thread.sleep(1000);
}
channel.disconnect();
session.disconnect();
System.out.println("DONE!!!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
As you see in this image, it shows us html as a commands result.
![[Image: p_1084wc7of1.png]](https://b.top4top.net/p_1084wc7of1.png)
Now all depend on you for Backing up both your website files and SQL database using two commands instead of the one above:
Code: zip -r /home/sinisterly.zip /var/www/ && mysqldump --all-databases > /home/all_databases.sql
This above will generate a zip files which include our files and the second command will generate a SQL file which include the whole databases data. Note: && separate the two commands.
Okay Let's download this files above:
PHP Code: /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ssh;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;
/**
*
* @author Kurdy
*
*/
public class DownloadFileSFTP {
public static void main(String[] args) throws Exception {
JSch jsch = new JSch();
Session session = null;
try {
//Server User, IP and Port
session = jsch.getSession("root", "1.1.1.1", 22);
session.setConfig("StrictHostKeyChecking", "no");
//Server Password here...
session.setPassword("12345678");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
//creating a FTP channel between you and the server
ChannelSftp sftpChannel = (ChannelSftp) channel;
//Downlaoding sinisterly.zip file to partiton D
sftpChannel.get("/home/sinisterly.zip", "D:\\redsecurity.zip");
//Downloading all_databses.sql file to partition D
sftpChannel.get("/home/all_databases.sql", "D:\\all_databases.sql");
System.out.println("Downloading Finished");
sftpChannel.exit();
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
}
}
}
I'm done if you need anything feel free PMing me or posting here down...
Thank you for reading ......
Wa Salam Alekum
RE: Java and SSH - mothered - 12-21-2018
It's nice to have you back contributing quality tutorials.
Well done.
RE: Java and SSH - Mr.Kurd - 12-21-2018
(12-21-2018, 05:10 AM)mothered Wrote: It's nice to have you back contributing quality tutorials.
Well done.
Thank you mothered, glad yo see you again.
RE: Java and SSH - mothered - 12-22-2018
(12-21-2018, 04:01 PM)Mr.Kurd Wrote: (12-21-2018, 05:10 AM)mothered Wrote: It's nice to have you back contributing quality tutorials.
Well done.
Thank you mothered, glad yo see you again.
Likewise.
Stay active.
RE: Java and SSH - darkninja1980 - 01-28-2019
(12-20-2018, 10:29 PM)Mr.Kurd Wrote: In The Name OF Allah
Al-Salam Alekum
Hello guys, Long time because of my exams I hadn't time to come online. Today I'm going to explain using JSch library in Java to connect with SSH server, executing commands and downloading files. I hope ye all like it...
Start your IDE I'm using NetBeans. Add JSch library Download it from here
In this example we will connect to our server(VPS) through SSH and run a command (cd /var/www && ls).
PHP Code: /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ssh;
import java.io.InputStream;
import java.util.Properties;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
public class SSHConnectionJava {
public static void main(String[] args) {
//Host IP
String host = "1.1.1.1";
//Host User
String user = "root";
//Host Password
String password = "12345678";
try {
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
// Create a JSch session to connect to the server
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
// Establish the connection
session.connect();
System.out.println("Connected...");
ChannelExec channel = (ChannelExec) session.openChannel("exec");
//Executing a command
channel.setCommand("cd /var/www/ && ls");
channel.setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
byte[] tmp = new byte[1024];
while (true) {
while (in.available() > 0) {
int i = in.read(tmp, 0, 1024);
if (i < 0) {
break;
}
System.out.print(new String(tmp, 0, i));
}
if (channel.isClosed()) {
System.out.println("Exit Status: "
+ channel.getExitStatus());
break;
}
Thread.sleep(1000);
}
channel.disconnect();
session.disconnect();
System.out.println("DONE!!!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
As you see in this image, it shows us html as a commands result.
![[Image: p_1084wc7of1.png]](https://b.top4top.net/p_1084wc7of1.png)
Now all depend on you for Backing up both your website files and SQL database using two commands instead of the one above:
Code: zip -r /home/sinisterly.zip /var/www/ && mysqldump --all-databases > /home/all_databases.sql
This above will generate a zip files which include our files and the second command will generate a SQL file which include the whole databases data. Note: && separate the two commands.
Okay Let's download this files above:
PHP Code: /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ssh;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;
/**
*
* @author Kurdy
*
*/
public class DownloadFileSFTP {
public static void main(String[] args) throws Exception {
JSch jsch = new JSch();
Session session = null;
try {
//Server User, IP and Port
session = jsch.getSession("root", "1.1.1.1", 22);
session.setConfig("StrictHostKeyChecking", "no");
//Server Password here...
session.setPassword("12345678");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
//creating a FTP channel between you and the server
ChannelSftp sftpChannel = (ChannelSftp) channel;
//Downlaoding sinisterly.zip file to partiton D
sftpChannel.get("/home/sinisterly.zip", "D:\\redsecurity.zip");
//Downloading all_databses.sql file to partition D
sftpChannel.get("/home/all_databases.sql", "D:\\all_databases.sql");
System.out.println("Downloading Finished");
sftpChannel.exit();
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
}
}
}
I'm done if you need anything feel free PMing me or posting here down...
Thank you for reading ......
Wa Salam Alekum
very nice guide. I enjoy reading.
RE: Java and SSH - Mr.Kurd - 01-30-2019
(01-28-2019, 06:33 AM)darkninja1980 Wrote: (12-20-2018, 10:29 PM)Mr.Kurd Wrote: In The Name OF Allah
Al-Salam Alekum
Hello guys, Long time because of my exams I hadn't time to come online. Today I'm going to explain using JSch library in Java to connect with SSH server, executing commands and downloading files. I hope ye all like it...
Start your IDE I'm using NetBeans. Add JSch library Download it from here
In this example we will connect to our server(VPS) through SSH and run a command (cd /var/www && ls).
PHP Code: /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ssh;
import java.io.InputStream;
import java.util.Properties;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
public class SSHConnectionJava {
public static void main(String[] args) {
//Host IP
String host = "1.1.1.1";
//Host User
String user = "root";
//Host Password
String password = "12345678";
try {
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
// Create a JSch session to connect to the server
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
// Establish the connection
session.connect();
System.out.println("Connected...");
ChannelExec channel = (ChannelExec) session.openChannel("exec");
//Executing a command
channel.setCommand("cd /var/www/ && ls");
channel.setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
byte[] tmp = new byte[1024];
while (true) {
while (in.available() > 0) {
int i = in.read(tmp, 0, 1024);
if (i < 0) {
break;
}
System.out.print(new String(tmp, 0, i));
}
if (channel.isClosed()) {
System.out.println("Exit Status: "
+ channel.getExitStatus());
break;
}
Thread.sleep(1000);
}
channel.disconnect();
session.disconnect();
System.out.println("DONE!!!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
As you see in this image, it shows us html as a commands result.
![[Image: p_1084wc7of1.png]](https://b.top4top.net/p_1084wc7of1.png)
Now all depend on you for Backing up both your website files and SQL database using two commands instead of the one above:
Code: zip -r /home/sinisterly.zip /var/www/ && mysqldump --all-databases > /home/all_databases.sql
This above will generate a zip files which include our files and the second command will generate a SQL file which include the whole databases data. Note: && separate the two commands.
Okay Let's download this files above:
PHP Code: /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ssh;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;
/**
*
* @author Kurdy
*
*/
public class DownloadFileSFTP {
public static void main(String[] args) throws Exception {
JSch jsch = new JSch();
Session session = null;
try {
//Server User, IP and Port
session = jsch.getSession("root", "1.1.1.1", 22);
session.setConfig("StrictHostKeyChecking", "no");
//Server Password here...
session.setPassword("12345678");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
//creating a FTP channel between you and the server
ChannelSftp sftpChannel = (ChannelSftp) channel;
//Downlaoding sinisterly.zip file to partiton D
sftpChannel.get("/home/sinisterly.zip", "D:\\redsecurity.zip");
//Downloading all_databses.sql file to partition D
sftpChannel.get("/home/all_databases.sql", "D:\\all_databases.sql");
System.out.println("Downloading Finished");
sftpChannel.exit();
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
}
}
}
I'm done if you need anything feel free PMing me or posting here down...
Thank you for reading ......
Wa Salam Alekum
very nice guide. I enjoy reading.  Welcome man
RE: Java and SSH - darkninja1980 - 01-30-2019
(01-30-2019, 10:39 PM)Mr.Kurd Wrote: (01-28-2019, 06:33 AM)darkninja1980 Wrote: (12-20-2018, 10:29 PM)Mr.Kurd Wrote: In The Name OF Allah
Al-Salam Alekum
Hello guys, Long time because of my exams I hadn't time to come online. Today I'm going to explain using JSch library in Java to connect with SSH server, executing commands and downloading files. I hope ye all like it...
Start your IDE I'm using NetBeans. Add JSch library Download it from here
In this example we will connect to our server(VPS) through SSH and run a command (cd /var/www && ls).
PHP Code: /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ssh;
import java.io.InputStream;
import java.util.Properties;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
public class SSHConnectionJava {
public static void main(String[] args) {
//Host IP
String host = "1.1.1.1";
//Host User
String user = "root";
//Host Password
String password = "12345678";
try {
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
// Create a JSch session to connect to the server
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
// Establish the connection
session.connect();
System.out.println("Connected...");
ChannelExec channel = (ChannelExec) session.openChannel("exec");
//Executing a command
channel.setCommand("cd /var/www/ && ls");
channel.setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
byte[] tmp = new byte[1024];
while (true) {
while (in.available() > 0) {
int i = in.read(tmp, 0, 1024);
if (i < 0) {
break;
}
System.out.print(new String(tmp, 0, i));
}
if (channel.isClosed()) {
System.out.println("Exit Status: "
+ channel.getExitStatus());
break;
}
Thread.sleep(1000);
}
channel.disconnect();
session.disconnect();
System.out.println("DONE!!!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
As you see in this image, it shows us html as a commands result.
![[Image: p_1084wc7of1.png]](https://b.top4top.net/p_1084wc7of1.png)
Now all depend on you for Backing up both your website files and SQL database using two commands instead of the one above:
Code: zip -r /home/sinisterly.zip /var/www/ && mysqldump --all-databases > /home/all_databases.sql
This above will generate a zip files which include our files and the second command will generate a SQL file which include the whole databases data. Note: && separate the two commands.
Okay Let's download this files above:
PHP Code: /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ssh;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;
/**
*
* @author Kurdy
*
*/
public class DownloadFileSFTP {
public static void main(String[] args) throws Exception {
JSch jsch = new JSch();
Session session = null;
try {
//Server User, IP and Port
session = jsch.getSession("root", "1.1.1.1", 22);
session.setConfig("StrictHostKeyChecking", "no");
//Server Password here...
session.setPassword("12345678");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
//creating a FTP channel between you and the server
ChannelSftp sftpChannel = (ChannelSftp) channel;
//Downlaoding sinisterly.zip file to partiton D
sftpChannel.get("/home/sinisterly.zip", "D:\\redsecurity.zip");
//Downloading all_databses.sql file to partition D
sftpChannel.get("/home/all_databases.sql", "D:\\all_databases.sql");
System.out.println("Downloading Finished");
sftpChannel.exit();
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
}
}
}
I'm done if you need anything feel free PMing me or posting here down...
Thank you for reading ......
Wa Salam Alekum
very nice guide. I enjoy reading.  Welcome man 
No problem.
RE: Java and SSH - mothered - 01-31-2019
@Mr.Kurd, you did mention that you won't contribute anymore, but I hope to see more of your HQ tutorials.
RE: Java and SSH - darkninja1980 - 01-31-2019
(01-31-2019, 02:51 AM)mothered Wrote: @Mr.Kurd, you did mention that you won't contribute anymore, but I hope to see more of your HQ tutorials.
I like reading his guides as well.
RE: Java and SSH - Mr.Kurd - 02-01-2019
(01-31-2019, 02:51 AM)mothered Wrote: @Mr.Kurd, you did mention that you won't contribute anymore, but I hope to see more of your HQ tutorials. Actually, @mothered Java section here on SL is very inactive and members not showing interest. You see spending much time to write an HQ tutorial but members are not showing interest so it's pretty much tiring.
|