公钥如何在服务器上注册,如何将SSH公钥添加到服务器
公钥如何在服务器上注册,如何将SSH公钥添加到服务器
公钥身份验证允许你通过SSH访问服务器,而无需密码,以下是将公钥复制到服务器的两种方法。
方法1:自动将ssh密钥复制到服务器
第一种方法是最终用户将个人计算机的公钥复制到远程服务器上的授权密钥列表中。
这里,我假设你可以使用ssh登录到远程服务器,它请求你的帐户密码,然后输入服务器。
如果将公钥添加到服务器,就应该能够在不每次输入密码的情况下登录。
OpenSSH为将ssh公钥复制到远程系统提供了一个ssh-copy-id的工具调用,它甚至创建必需的目录和文件。
如前所述,你应该知道要通过公钥认证访问的服务器的用户名和密码。ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]_ADDRESS_OF_THE_SERVER
出现提示时,输入远程服务器上用户帐户的密码,你的公钥应该自动复制到远程服务器上的相应文件夹中。
我使用了~/.ssh/id_rsa.pub,因为这是公共ssh密钥的默认位置,如果您在其他位置使用它,则应在上面的命令中使用它。
方法2:手动将公钥复制到服务器
第一个方法在用户端有操作,假设你是sysadmin,并且你的服务器不允许通过密码进行SSH登录,访问服务器的唯一方法是使用SSH公钥身份验证。
在这种情况下,您可以要求最终用户提供其公钥。现在你能做的就是create.ssh/authorized_密钥,然后将公钥复制到此处。
让我看看这些步骤。
步骤1:获取公钥
键入以下命令要求最终用户提供公钥:cat ~/.ssh/id_rsa.pub
它显示一个从ssh-rsa开始的长随机字符串:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP [email protected]
通过电子邮件或消息传递工具获得此文本,通常,这不应该是一个问题。
步骤2:在用户的主目录中创建ssh目录(作为sysadmin )
请记住,必须在最终用户的主目录中创建新的目录和文件,而不是你自己的(root/sysadmin )。mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys
现在打开这个/home/user name/,ssh/authorized_keys文件,使用Vim等文本编辑器,并在此处添加用户的公钥:vim /home/user_name/.ssh/authorized_keys
保存,并管理文件,已经准备好了。
步骤3:为文件设置适当的权限
在ssh文件中拥有适当的文件权限非常重要,否则你将看到类似权限被拒绝(publickey )。
首先,确保设置正确的文件权限:chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys
使用root或你自己的管理员帐户为其他用户创建了这些文件,你需要将所有权更改为用户:chown -R username:username /home/username/.ssh
完成后,你可以要求最终用户登录到服务器。