Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 如何使用JSch执行严格的主机密钥检查_Ssh_Jgit - Fatal编程技术网

Ssh 如何使用JSch执行严格的主机密钥检查

Ssh 如何使用JSch执行严格的主机密钥检查,ssh,jgit,Ssh,Jgit,我正在尝试使用JGit连接到服务器。我可以使用以下设置成功连接 JSch.setConfig("StrictHostKeyChecking", "no"); 问题是我实际上需要严格的主机密钥检查。因此,我将前一行替换为以下内容: JSch.setConfig("StrictHostKeyChecking", "yes"); 但现在它不起作用了。我的证书位于我的主目录中名为.ssh的文件夹中。文件名为id\u rsa和id\u rsa.pub。在服务器(有Linux)中,我有一个名为autho

我正在尝试使用
JGit
连接到服务器。我可以使用以下设置成功连接

JSch.setConfig("StrictHostKeyChecking", "no");
问题是我实际上需要严格的主机密钥检查。因此,我将前一行替换为以下内容:

JSch.setConfig("StrictHostKeyChecking", "yes");

但现在它不起作用了。我的证书位于我的主目录中名为
.ssh
的文件夹中。文件名为
id\u rsa
id\u rsa.pub
。在服务器(有Linux)中,我有一个名为
authorized\u keys
的文件,位于
~/.ssh
中,该文件的内容与
id\u rsa.pub

代码实际上是正常的。问题是你必须做以下事情:

这些操作必须在客户端计算机上执行

1) 在主目录中创建一个名为
.ssh
的文件夹(例如
C:\Users\John

2) 输入新文件夹并使用以下命令使用git bash创建证书

ssh-keygen -t rsa -m PEM
证书是两个名为
id\u rsa
id\u rsa.pub

3) 键入以下命令(始终使用
gitbash
):

它将创建一个名为
known\u hosts
的文件。因此,最终在客户端的.ssh文件夹中会有3个文件:
id\u rsa
id\u rsa.pub
已知主机
。 现在转到服务器计算机并执行以下操作

1) 在主目录中创建一个名为.ssh的文件夹(例如
~/John

2) 进入那里,创建一个名为
authorized_keys
的文件,并将文件
id_rsa.pub
的内容复制到此新文件中

3) 查找文件
etc/ssh/sshd\u config

4) 确保以下两行存在且未注释

PubKeyAuthentication yes
PasswordAuthentication no
5) 保存文件并重新启动sshd

sudo systemctl restart sshd
请将您的问题包括在程序中的所有相关代码中。
sudo systemctl restart sshd