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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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密钥以在没有密码的情况下登录服务器_Ssh_Key_Ssh Keys - Fatal编程技术网

如何生成ssh密钥以在没有密码的情况下登录服务器

如何生成ssh密钥以在没有密码的情况下登录服务器,ssh,key,ssh-keys,Ssh,Key,Ssh Keys,我使用过amazon AWS上的服务器,它们向我发送一个公钥.pem文件,当我使用ssh时,我所要做的就是: ssh -i key.pem user@server 我现在有了一个自己的服务器,我正试图弄清楚如何使用我的服务器实现这一点,这样我就可以通过ssh自动向服务器发送命令 我想我需要在我的服务器上生成这个密钥,并将它复制到我的客户机上。如何生成此密钥?在要从中登录的客户端计算机上,运行ssh-keygen。要快速简便地输入,只需在所有问题上按enter键。这将在~/.ssh中创建密钥对。

我使用过amazon AWS上的服务器,它们向我发送一个公钥.pem文件,当我使用ssh时,我所要做的就是:

ssh -i key.pem user@server
我现在有了一个自己的服务器,我正试图弄清楚如何使用我的服务器实现这一点,这样我就可以通过ssh自动向服务器发送命令


我想我需要在我的服务器上生成这个密钥,并将它复制到我的客户机上。如何生成此密钥?

在要从中登录的客户端计算机上,运行
ssh-keygen
。要快速简便地输入,只需在所有问题上按enter键。这将在~/.ssh中创建密钥对。具体来说,~/.ssh/id\u rsa是您的私钥(请确保此密钥的安全),而~/.ssh/id\u rsa.pub是您的公钥(可以分发)

将公钥(~/.ssh/id_rsa.pub)复制到您希望登录的服务器上(例如
scp~/.ssh/id_rsa.pubme@myserver:
。在服务器上运行
cat id\u rsa.pub>.ssh/authorized\u keys
。要确保它具有正确的权限,可以运行
chmod 644~/.ssh/authorized\u keys
。此外,现在还可以删除复制的id\u rsa.pub文件

就是这样!您应该在客户端到服务器之间进行无密码登录。如果您希望在服务器到客户端之间进行无密码登录,则必须在交换客户端和服务器的情况下重复此过程

注:

  • 如果服务器上不存在~/.ssh目录,创建该目录的最佳方法是将其从服务器ssh到其他计算机(例如客户端)。这将确保它具有正确的权限
  • 如果您担心有人访问客户端,可以使用密码保护密钥(运行
    ssh-keygen
    时的提示之一),但每次登录时都必须输入该密码。解决此问题的方法是使用ssh代理