如何配置两台服务器ssh免密登录

fiy 其他 44

回复

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

    配置两台服务器实现SSH免密登录需要按照以下步骤进行操作:

    1. 生成SSH密钥对
      在一台服务器上生成SSH密钥对,并将公钥复制到另一台服务器上。以第一台服务器为例,打开终端并执行以下命令:
    ssh-keygen -t rsa
    

    在提示输入路径时,默认按回车即可。接下来,系统会要求输入一个密钥密码,可以为空,直接按回车继续。生成成功后,将公钥复制到另一台服务器上:

    ssh-copy-id -i ~/.ssh/id_rsa.pub user@second_server_ip_address
    

    其中,user是第二台服务器的用户名,second_server_ip_address是第二台服务器的IP地址。

    1. 配置SSH服务器
      在第二台服务器上需要配置允许使用公钥密钥登录。使用文本编辑器打开SSH配置文件:
    sudo vi /etc/ssh/sshd_config
    

    找到以下行并确保它们的值如下所示:

    PubkeyAuthentication yes
    PasswordAuthentication no
    

    保存并关闭文件。然后重启SSH服务以使更改生效:

    sudo systemctl restart sshd
    
    1. 测试SSH免密登录
      现在,您可以尝试从第一台服务器连接到第二台服务器,而无需提供密码:
    ssh user@second_server_ip_address
    

    如果一切配置正确,您应该能够成功登录第二台服务器,而不需要输入密码。

    配置两台服务器实现SSH免密登录就是这么简单!遵循以上步骤,您可以方便地进行服务器之间的快速登录和数据传输。

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

    要配置两台服务器的SSH免密登录,您需要按照以下步骤进行操作:

    1. 生成公私钥对:在本地计算机上生成SSH公私钥对。使用ssh-keygen命令生成,该命令会在当前用户的家目录下生成.ssh目录,并在该目录中生成id_rsa(私钥)和id_rsa.pub(公钥)两个文件。输入以下命令:

      ssh-keygen
      
    2. 将公钥复制到远程服务器:使用ssh-copy-id命令将本地计算机上生成的公钥复制到远程服务器。输入以下命令,将服务器IP地址替换为目标服务器的IP地址:

      ssh-copy-id username@remote_ip
      
    3. 配置服务器:登录到远程服务器,并编辑SSH配置文件。输入以下命令:

      sudo vi /etc/ssh/sshd_config
      

      在打开的文件中找到以下两行,并确保它们的值如下:

      PasswordAuthentication no
      PubkeyAuthentication yes
      

      保存并关闭文件,然后重启SSH服务以使更改生效。输入以下命令:

      sudo systemctl restart ssh
      
    4. 连接到远程服务器:现在,您应该能够通过无需密码的方式连接到远程服务器。输入以下命令:

      ssh username@remote_ip
      

      您将不再需要输入密码,而是使用私钥文件进行身份验证。

    5. 备份私钥文件:为了确保安全性,建议备份私钥文件(id_rsa)并妥善保管。这样,如果您的本地计算机遭到损坏或丢失,您仍然可以使用备份的私钥文件进行登录。

    请注意,上述步骤假设您使用的是Linux操作系统。如果您使用的是Windows操作系统,则可以使用PuTTY工具来生成公私钥对,并使用WinSCP工具将公钥复制到远程服务器。

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

    配置两台服务器SSH免密登录需要执行以下步骤:

    1. 生成SSH密钥对
    2. 将公钥复制到目标服务器
    3. 配置目标服务器以接受公钥登录
    4. 测试免密登录

    下面将详细介绍每个步骤的操作流程。

    生成SSH密钥对

    使用ssh-keygen命令生成SSH密钥对。打开终端,在命令行中输入以下命令:

    ssh-keygen -t rsa
    

    按下回车键后,系统将提示你选择保存密钥对的目录和文件名。按照默认值即可。接下来,系统会要求你输入一个密码短语。可以选择不输入直接回车,这样生成的密钥对就是无密码的。

    生成的SSH密钥对包括一个私钥文件(默认为id_rsa)和一个公钥文件(默认为id_rsa.pub)。私钥文件存储在用户的家目录的.ssh文件夹下,而公钥文件则是私钥文件的扩展名为.pub

    将公钥复制到目标服务器

    使用ssh-copy-id命令将公钥复制到目标服务器。假设需要将本地公钥复制到目标服务器上的user@hostname,运行以下命令:

    ssh-copy-id user@hostname
    

    系统将提示你输入目标服务器的密码,然后将公钥添加到user用户的~/.ssh/authorized_keys文件中。如果目标服务器上没有该文件,则会自动创建。

    配置目标服务器以接受公钥登录

    为了确保目标服务器可以接受公钥登录,需要进行一些配置。登录目标服务器后,编辑/etc/ssh/sshd_config文件(可能需要管理员权限),找到以下两个设置并确保它们的值如下:

    PubkeyAuthentication yes
    PasswordAuthentication no
    

    保存文件并退出。

    然后,重新启动SSH服务,以使更改生效。在大部分Linux发行版中使用以下命令重启SSH服务:

    sudo systemctl restart ssh
    

    测试免密登录

    完成上述步骤后,重新打开终端并尝试使用SSH免密登录到目标服务器。在命令行中输入以下命令:

    ssh user@hostname
    

    如果设置正确,系统将直接登录到目标服务器,而不提示输入密码。

    如果遇到问题,可以尝试检查以下几个方面:

    • 确保目标服务器的SSH服务正在运行。
    • 查看目标服务器上的/etc/ssh/sshd_config文件是否正确配置。
    • 重新检查公钥是否已被正确添加到目标服务器的~/.ssh/authorized_keys文件中。

    以上就是配置两台服务器SSH免密登录的方法和操作流程。通过这样的配置,可以方便快捷地进行服务器之间的远程登录和文件传输操作。

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

400-800-1024

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

分享本页
返回顶部