Writing code in java: how to upload files to the server in the form of sftp, the server itself has no account and password

In Java, you can use the JSch library to implement SFTP (SSH File Transfer Protocol) to upload files to the server. However, SFTP connections usually require the server account and password or key for authentication.

If the server itself does not have an account and password, you may need to consider other authentication methods, such as public key authentication. Here is a sample code for SFTP upload using JSch library:

import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

public class SftpUploader {     public static void main(String[] args) {         String host = "server hostname or IP address";         int port = 22; // default SFTP port is 22         String username = "server username";         String privateKeyPath = "Private key file path";         String localFilePath = "Local file path";         String remoteFilePath = "Remote server file path";






        JSch jsch = new JSch();
        try {             // load private key             jsch.addIdentity(privateKeyPath);

            // Create session
            Session session = jsch.getSession(username, host, port);

            // Authenticate without a password
            session.setConfig("PreferredAuthentications", "publickey");

            // Open a new SFTP channel
            ChannelSftp channel = (ChannelSftp) session.openChannel("sftp");
            channel.connect();

            // upload file
            channel.put(localFilePath, remoteFilePath);

            // close channel and session
            channel.disconnect();
            session.disconnect();

            System.out.println("File uploaded successfully!");
        } catch (Exception e) {             e.printStackTrace();         }     } }



Please note that the above code assumes that you have already generated a key pair and saved the private key file in privateKeyPaththe specified path. Make sure to replace the server hostname, username, private key file path, and paths to local and remote files in the code.

If the server does not have an account number and password, and does not have a supported authentication method, it will be very difficult or impossible to upload files to the server via SFTP.

Guess you like

Origin blog.csdn.net/gb4215287/article/details/132265841