如何启用免密服务器

worktile 其他 29

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要启用免密服务器,需要进行以下步骤:

    1. 生成SSH密钥对:首先,在服务器上生成公钥和私钥的SSH密钥对。可以使用以下命令生成密钥对:

      ssh-keygen -t rsa -b 4096
      

      这将在用户的家目录下生成一个公钥文件(id_rsa.pub)和私钥文件(id_rsa)。请确保私钥文件的权限设置为只能当前用户访问。

    2. 将公钥上传到目标服务器:将生成的公钥文件(id_rsa.pub)上传到目标服务器上,可以使用以下命令将公钥文件复制到目标服务器上:

      ssh-copy-id user@server_ip
      

      将"user"替换为目标服务器上的用户名,"server_ip"替换为目标服务器的IP地址或主机名。执行此命令后,需要输入目标服务器的密码进行验证。

    3. 验证免密登录:完成上述步骤后,尝试使用SSH连接到目标服务器,如果一切设置正确,应该无需输入密码即可成功登录。

    4. 禁用密码登录:为了增强服务器安全性,禁用密码登录是一个好的做法。可以通过修改SSH配置文件来实现。使用文本编辑器打开SSH配置文件(一般位于/etc/ssh/sshd_config),找到并修改以下行:

      PasswordAuthentication no
      

      将上述行中的"no"改为"yes",保存并关闭文件。接下来,重启SSH服务以使更改生效:

      systemctl restart sshd
      

    完成以上步骤后,您就成功启用了免密服务器。现在,您可以通过公钥认证而不是密码进行登录,从而提高服务器的安全性和便利性。

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

    要启用免密服务器,您需要执行以下步骤:

    1. 选择安全的操作系统:首先,确保您在服务器上选择了一个安全可靠的操作系统。常见的选择包括Ubuntu、CentOS、Debian等。这些操作系统都有强大的安全功能,并且经过广泛测试和修复了各种漏洞。

    2. 安装并配置SSH:SSH(Secure Shell)是一种常用的远程访问协议,可以通过安全的加密连接远程登录服务器。您需要在服务器上安装并配置SSH服务。在大多数Linux发行版中,SSH已经预先安装好了。确保将SSH设置为仅接受来自指定IP地址的连接,以增加安全性。

    3. 创建SSH密钥对:要使用免密登录,您需要创建SSH密钥对。密钥对包括公钥和私钥。将公钥保存在服务器上,将私钥保存在您的本地计算机上。在本地计算机上生成SSH密钥对的方法有很多,可以使用命令行工具(如ssh-keygen)或图形界面工具(如PuTTYgen)。

    4. 将公钥添加到服务器:在本地计算机上生成SSH密钥对后,您需要将公钥添加到服务器上。将公钥复制到服务器的~/.ssh/authorized_keys文件中。确保只有您信任的公钥才能添加到该文件,以防止未授权的访问。

    5. 测试连接:现在,您可以尝试使用私钥连接到服务器。在终端中输入ssh用户名@服务器IP地址,并使用私钥进行身份验证。如果一切正常,您应该能够成功登录到服务器上而无需输入密码。

    请注意,启用免密服务器虽然很方便,但也会增加一些安全风险。请注意保护好私钥,并定期更改SSH密钥对以增加安全性。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    启用免密服务器可以提高系统的安全性和使用便利性,使用户可以免去输入密码的烦恼。下面将从方法和操作流程两个方面来讲解如何启用免密服务器。

    方法一:使用SSH密钥进行免密登陆

    1. 生成SSH密钥对:

      • 打开终端或命令提示符,输入以下命令:

        ssh-keygen -t rsa
        
      • 按回车键接受默认的密钥存储位置和文件名,或者根据需要进行修改。

      • 输入密码短语(Passphrase),并确认。

    2. 将公钥添加到服务器:

      • 将生成的公钥文件内容(默认存储在用户主目录下的.ssh/id_rsa.pub文件中)复制到服务器的~/.ssh/authorized_keys文件中。

      • 如果authorized_keys文件不存在,请手动创建。

      • 也可以使用以下命令将公钥添加到服务器:

        ssh-copy-id username@server_ip
        
      • 输入服务器密码以完成操作。

    3. 测试SSH连接:

      • 使用以下命令测试SSH连接:

        ssh username@server_ip
        
      • 如果成功连接到服务器而无需输入密码,则免密登入设置成功。

    方法二:使用sshpass工具实现自动化免密登录

    1. 通过终端或命令提示符安装sshpass工具。

      • 在Linux系统中,可以使用以下命令来安装sshpass:

        sudo apt-get install sshpass
        
      • 在macOS系统中,可以使用Homebrew来安装sshpass:

        brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
        
      • 在Windows系统中,可以从GitHub上下载可执行文件并进行安装。

    2. 创建一个文本文件,包含需要免密登录的服务器列表。

      • 文件格式应为每行一个服务器,格式为username@server_ip:port password,如:

        username@192.168.1.100:22 password
        username@192.168.1.101:22 password
        
    3. 创建一个脚本文件,使用sshpass工具执行免密登录。

      • 使用文本编辑器创建一个名为script.sh的脚本文件,输入以下内容:

        #!/bin/bash
        
        while read -r line; do
            sshpass -p "$(echo "$line" | awk '{print $2}')" ssh -o StrictHostKeyChecking=no "$(echo "$line" | awk '{print $1}')" "echo '免密登录成功'"
        done < server_list.txt
        
      • server_list.txt替换为你创建的服务器列表文件名。

      • 保存并关闭脚本文件。

    4. 赋予脚本文件执行权限。

      • 使用以下命令为脚本文件添加执行权限:

        chmod +x script.sh
        
    5. 运行脚本文件。

      • 使用以下命令运行脚本文件:

        ./script.sh
        
      • 脚本将会遍历服务器列表中的每个服务器,并使用sshpass工具进行免密登录。

    以上是两种启用免密服务器的方法和操作流程。使用SSH密钥可以实现更安全的免密登录,而使用sshpass工具可以实现更自动化的免密登录。根据实际需求选择适合的方法。

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

400-800-1024

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

分享本页
返回顶部