如何使用ssh公钥登录服务器

worktile 其他 45

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    使用SSH公钥登录服务器是一种更安全和方便的方式,相较于传统的密码登录。下面是使用SSH公钥登录服务器的步骤:

    1. 生成SSH公钥和私钥:首先,您需要在本地计算机上生成SSH公钥和私钥。可以使用以下命令生成RSA类型的密钥对:
    ssh-keygen -t rsa -b 4096
    

    该命令将生成一个2048位的RSA密钥对,并要求您指定密钥的保存位置和密码。默认情况下,私钥将被保存在/.ssh/id_rsa,公钥将被保存在/.ssh/id_rsa.pub。

    1. 将公钥复制到服务器:接下来,您需要将生成的公钥复制到要登录的远程服务器上。可以使用以下命令将公钥复制到服务器上的~/.ssh/authorized_keys文件中(如果服务器上没有该文件,可以新建一个):
    ssh-copy-id user@server_ip
    

    其中,user是您在服务器上的用户名,server_ip是服务器的IP地址。在执行该命令后,系统将要求您输入服务器的登录密码。

    1. 配置SSH服务器:为了允许使用公钥登录,您还需要在服务器上进行一些配置。使用SSH客户端连接到服务器后,编辑SSH服务器的配置文件(一般在/etc/ssh/sshd_config):
    sudo vim /etc/ssh/sshd_config
    

    在配置文件中找到并确保以下选项的值为yes(如果没有该选项,则可以手动添加):

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    

    保存并退出配置文件后,需重启SSH服务以使更改生效:

    sudo service ssh restart
    
    1. 测试登录:现在,您可以尝试使用SSH公钥登录服务器。使用以下命令连接到服务器:
    ssh user@server_ip
    

    如果一切配置正确,系统将直接使用私钥进行身份验证,不再需要输入密码。

    总结起来,使用SSH公钥登录服务器可以提供更高的安全性,并且更加方便。通过生成SSH密钥对,在本地计算机上生成公钥和私钥,将公钥复制到服务器上,并进行必要的配置,就可以实现SSH公钥登录。这样一来,您可以在不泄露密码的情况下,更加安全地登录服务器。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    使用SSH公钥登录服务器是一种更安全和方便的方法,相比于传统的用户名和密码登录方式。下面是使用SSH公钥登录服务器的步骤:

    1. 生成SSH密钥对:首先,在本地计算机上生成一对SSH密钥,包括一个私钥和一个公钥。可以使用命令ssh-keygen来生成密钥对,默认情况下,生成的密钥存储在用户的~/.ssh目录下。

    2. 复制公钥到服务器:将生成的公钥文件中的内容复制到要登录的服务器上。可以使用命令ssh-copy-id将公钥文件复制到远程服务器。命令的语法为ssh-copy-id [user@]hostname,其中user是远程服务器上的用户名,hostname是服务器的IP地址或域名。

    3. 配置服务器:如果SSH服务器的配置文件中没有启用公钥登录功能,需要进行相应的配置。在服务器上,编辑SSH服务器的配置文件 /etc/ssh/sshd_config,将PubkeyAuthenticationRSAAuthentication设置为yes

    4. 重启SSH服务器:保存配置文件的修改,并重启SSH服务器,以使新的配置生效。可以使用命令sudo service ssh restart来重启SSH服务器。

    5. 测试登录:现在,可以使用SSH私钥登录到服务器了。使用命令ssh [user@]hostname,其中user是远程服务器上的用户名,hostname是服务器的IP地址或域名。如果一切正常,应该能够直接登录到服务器,而无需输入密码。

    使用SSH公钥登录服务器的好处是,可以提供更高的安全性。由于私钥仅保存在本地计算机上,攻击者无法从远程服务器获取私钥。另外,由于使用了非对称加密算法,即使公钥被泄露,攻击者也无法获取到私钥和登录服务器的权限。

    此外,使用SSH公钥登录服务器也可以提供更便利的登录方式,无需输入密码,省去了记住复杂密码的烦恼。同时,如果需要远程登录多台服务器,只需要将公钥复制到每台服务器上即可,无需为每台服务器设置不同的密码。这样,可以大大简化登录过程,提高工作效率。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    使用SSH公钥登录服务器是一种更安全和方便的方式,它不需要每次输入密码就能登录到目标服务器。下面是使用SSH公钥登录服务器的方法和操作流程。

    1. 生成公钥和私钥对
    • 打开终端,输入以下命令生成SSH公钥和私钥对:
    $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
    • 按Enter键接受默认值(保存路径和文件名),然后输入一个安全的密码。
    • 生成的公钥文件默认保存在~/.ssh/id_rsa.pub,私钥文件默认保存在~/.ssh/id_rsa
    1. 上传公钥到服务器
    • 在本地执行以下命令将公钥上传到目标服务器:
    $ ssh-copy-id username@server_ip_address
    
    • 输入目标服务器的密码以完成公钥上传。
    1. 测试公钥登录
    • 重新打开终端,输入以下命令以使用SSH公钥登录服务器:
    $ ssh username@server_ip_address
    
    • 此时,不需要输入密码即可登录到目标服务器。
    1. 禁用密码登录(可选)
    • 为了进一步提高服务器的安全性,您可以禁用密码登录,只允许使用公钥登录。

    • 在目标服务器上编辑SSH配置文件/etc/ssh/sshd_config,找到以下行:

    #PasswordAuthentication yes
    
    • 将上述行的注释符#移除,并将yes改为no,保存文件。

    • 重新加载SSH配置:

    $ sudo service sshd reload
    
    • 现在,只能使用公钥登录到目标服务器,密码登录将被禁用。

    总结

    使用SSH公钥登录服务器能够提高服务器的安全性,避免每次登录都需要输入密码。通过生成公钥和私钥对,将公钥上传到服务器,并测试登录是否成功。如果需要进一步提高安全性,可以禁用密码登录。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部