私钥连接sftp

私钥连接sftp

终端连接:
sftp -oIdentityFile=/Users/tingyu/Desktop/id_rsa_sandbox -oPort=2222 lm_juduoduo_partner_pay@120.92.15.135
///Users/tingyu/Desktop/id_rsa_sandbox -oPort—私钥文件路径
下载文件:
get -r /home/data   /home/my
get -r nstruction.txt /Users/tingyu/Desktop/mi0223
删除文件:
rm
rmdir

Java连接时注意

私钥文件路径添绝对路径
jsch.addIdentity(privateKey);// 设置私钥
prvkey = Util.fromFile(prvfile);
File file = new File(_file);
FileInputStream fis = new FileInputStream(_file);
用System.out.println(new File(".").getAbsolutePath());打印了一下当前目录

Java中,SFTP(Secure File Transfer Protocol)通常使用JSch库来进行安全文件传输,它支持SSH协议,包括私钥认证。私钥是一种加密密钥,用于验证客户端的身份。如果你想要通过SFTP使用私钥进行身份验证,你需要按照以下步骤操作: 1. **添加JSch依赖**:首先,在你的项目中引入JSch库,如果你的项目是Maven项目,可以在pom.xml文件中添加依赖: ```xml <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</version> <!-- 或者最新版本 --> </dependency> ``` 2. **加载私钥**:创建一个`JSch`实例后,你可以使用`KeyPair`类加载你的私钥文件(通常是`.ssh/id_rsa`或`.ssh/id_dsa`格式),例如: ```java KeyPair keyPair = JSch弁匙匙.readFromStream(new FileInputStream("path/to/private/key")); ``` 3. **设置SSH会话**:配置SSH会话并指定使用私钥作为认证方法: ```java Session session = jsch.getSession(username, hostname, port); session.setPassword(null); // 如果私钥不需要密码,设为空 session.setConfig("StrictHostKeyChecking", "no"); // 关闭主机键检查,避免提示 session.addIdentity(keyPair.getPrivate()); ``` 4. **连接SFTP服务器**: ```java ChannelSftp channel = (ChannelSftp) session.openChannel("sftp"); channel.connect(); // 现在你可以使用channel进行SFTP操作,比如上传、下载文件等 ``` 5. **关闭连接**: ```java channel.disconnect(); session.disconnect(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值