我使用下面的代码连接远程服务器,并按照下面的步骤连接私钥/公钥生成&将公钥与授权密钥连接起来。
private Session createSession() throws JSchException {
JSch jsch = new JSch();
jsch.addIdentity(privateKey); //add private key path as ~/.ssh/id_rsa
Session session;
session = jsch.getSession(user, host, port);
java.util.Properties config = new java.util.Properties();
Properties cfg = new Properties();
cfg.put("trust", "true");
cfg.put("StrictHostKeyChecking", "no");
cfg.put("HashKnownHosts", "yes");
session.setConfig(cfg);
session.connect();
return session;
}1. I can able to generate private/public key in the path ~/.ssh/id_rsa(private key) and ~/.ssh/id_rsa.pub(public key)
>> ssh-keygen (or) ssh-keygen -t rsa -b 4096
Note: Generated key with no passphrase
2. I have added public key with authorized_keys with below command
>> ssh user@host "echo \"`cat ~/.ssh/id_rsa.pub`\" >> .ssh/authorized_keys"不过,我面临的例外是"com.jcraft.jsch.JSchException:八月失败“。请引导我继续前进。
发布于 2018-01-02 19:30:55
我相信这种情况的发生有几个原因:
ssh-keygen -i -f /path/to/private/key ssh-keygen -i -f /path/to/public/keyssh-keygen -e -f /path/to/private/key ssh-keygen -e -f /path/to/public/key转换发布于 2023-04-28 17:32:27
JSch不支持rsa-sha2。而且,由于JSch似乎不再被更新,它很可能永远不会更新。试试这个ssh-keygen -m PEM -t rsa -b 2048的工作。
https://serverfault.com/questions/871240
复制相似问题