SFTP秘钥认证

到当前用户目录下

cd ~

/home/[user]

找到 .ssh目录

cd .ssh

 

 

ssh-keygen -t rsa   执行创建密钥对命令

Generating public/private rsa key pair.

Please be patient....   Key generation may take a few minutes

Enter file in which to save the key (/home/ap/appnms/.ssh/id_rsa):

# 按回车保存为: //.ssh/id_rsa,即当前用户的私钥 私钥名称可以在这里自定义

Enter passphrase (empty for no passphrase):

# 按回车,表示读取密钥时不需要密钥的密码

Enter same passphrase again:

# 确认密钥的密码,必须和上面的输入相同

Your identification has been saved in /home/ap/appnms/.ssh/id_rsa.

# 私钥保存信息

Your public key has been saved in /home/ap/appnms/.ssh/id_rsa.pub.

# 公钥保存信息

The key fingerprint is:

31:03:78:64:4f:8e:9d:a9:31:bf:38:5d:1a:79:08:e6 appnms@T254N0V4

# 密钥指纹

The key's randomart image is:

+--[ RSA 2048]----+

|     o+ .        |

|    ...B o       |

|     .* X        |

|     o * *       |

|      E S o      |

|       o *       |

|      o +        |

|       .         |

|                 |

+-----------------+

 

转载于:https://www.cnblogs.com/jiaozi-li/p/8064939.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Java 中使用 SFTP 秘钥登录时,可以使用 JSch 库来完成。JSch 是一个纯 Java 实现的 SSH2 客户端,可以通过它来连接远程服务器并执行相应的操作。 对于使用秘钥登录时,需要提供私钥和远程服务器的公钥。远程服务器的公钥一般是以 OpenSSH 格式存储的,可以使用以下方式来解析: 1. 打开公钥文件,读取其中的内容: ```java String publicKey = ""; try(BufferedReader br = new BufferedReader(new FileReader("path/to/public/key"))) { String line; while ((line = br.readLine()) != null) { publicKey += line + "\n"; } } ``` 2. 创建一个 `JSch` 对象,并使用 `JSch.addIdentity()` 方法加载私钥: ```java JSch jsch = new JSch(); jsch.addIdentity("path/to/private/key"); ``` 3. 将远程服务器的公钥添加到 `JSch` 的 `known_hosts` 文件中: ```java JSch.setConfig("StrictHostKeyChecking", "no"); JSch.setKnownHosts("path/to/known_hosts"); ``` 在这里,我们将 `StrictHostKeyChecking` 设置为 `no`,表示不对主机的公钥进行验证(不建议在生产环境中使用)。也可以将 `known_hosts` 文件中的内容读取出来,和远程服务器的公钥进行比较,从而实现公钥的验证。 4. 使用 `Session.connect()` 方法连接远程服务器: ```java Session session = jsch.getSession("username", "remote-host", 22); session.connect(); ``` 在这里,需要提供远程服务器的用户名和地址以及 SSH 端口号。 5. 连接成功后,可以使用 `ChannelSftp` 对象进行 SFTP 操作: ```java ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp"); sftpChannel.connect(); ``` 在这里,我们将 `Channel` 类型设置为 `sftp`,表示要进行 SFTP 操作。 以上就是在 Java 中使用 SFTP 秘钥登录时解析 OpenSSH 格式公钥的方法。需要注意的是,在实际开发中还需要考虑到安全性和异常情况的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值