我試圖使用scp使用PEM文件如何使用scp使用PEM file.My程序顯示錯誤,但顯示在服務器
我的整個程序正在執行我的文件夾傳輸什麼(我的文件)傳輸文件夾罰款但文件不在服務器上顯示。 任何人都可以告訴我在哪裏,我在做錯誤
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
public class jschclass {
public static void main(String[] args) {
String SFTPHOST = "xx.xxx.xx.xxx";
int SFTPPORT = 22;
String SFTPUSER = "myusername";
// String SFTPPASS = "password";
String SFTPWORKINGDIR = "/var/www/html/projects/demoo_reports/";
String Pemfilepath=System.getProperty("user.dir")+File.separator+"src"+File.separator+"lib"+File.separator+"airtel.pem";
String targetFolder = System.getProperty("user.dir")+File.separator+"test-output";
//String Pemfilepath="./src/lib/airtel.pem";
//String targetFolder = "./test-output";
File folder = new File("./test-output");
System.out.println("folder=" + folder);
if (folder.listFiles() != null) {
List<File> listOfFiles = Arrays.asList(folder.listFiles());
for (File file : listOfFiles) {
// System.out.println("File name: " + file.getName());
// System.out.println("Full path: " + file.getAbsolutePath());
System.out.println("Target path: " + targetFolder + file.getName());
System.out.println();
}
}
/////////////////////
final JSch jsch = new JSch();
try {
jsch.addIdentity(Pemfilepath);
System.out.println("identity added ");
Session session = jsch.getSession(SFTPUSER,SFTPHOST,22);
System.out.println("session created.");
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
System.out.println("Connected");
////////////
SimpleDateFormat dateFormatForFoldername = new SimpleDateFormat("yyyy-MM-dd");//dd/MM/yyyy
Date currentDate = new Date();
String folderDateFormat = dateFormatForFoldername.format(currentDate);
String command = "scp -i "+Pemfilepath+" -r "+targetFolder+" "+"[email protected]:/var/www/html/projects/demo_reports/"+folderDateFormat+"/";
System.out.println(command);
Channel channel = session.openChannel("exec");
//channel.setCommand(command);
//channel.setErrStream(System.err);
channel.connect();
System.out.println("Files is up");
channel.disconnect();
session.disconnect();
System.out.println("Disconnected");
////////////
} catch (JSchException e) {
e.printStackTrace();
}
}
}
嘗試重命名該文件。也許有空白問題 – Jens
我已經嘗試,但得到同樣的問題 –
你在命令行嘗試過'ssh'嗎? – Jens