返回

极智开发 | 最简方式解锁 Linux 下 SSH 或 SCP 免密连接

开发工具

前言
在 Linux 系统中,SSH(Secure Shell)是一种用于安全远程登录和管理服务器的协议。而 SCP(Secure Copy)是基于 SSH 的安全文件传输协议,用于安全地复制文件或目录到远程计算机。为了简化操作并提高安全性,我们可以配置 SSH 或 SCP 的免密连接,从而无需每次连接或传输文件时都输入密码。

    ## 配置步骤
    ### 1. 生成密钥对
    首先,我们需要使用 SSH 密钥生成工具生成密钥对,包括公钥和私钥。公钥将被放置在远程服务器上,而私钥将保存在您的本地计算机上。
    
    - 打开终端或命令行窗口,输入以下命令生成密钥对:
    
      ```
      ssh-keygen -t rsa -b 4096
      ```
    
    - 按回车键,选择要保存私钥的文件名(通常是 ~/.ssh/id_rsa)。
    
    - 系统会提示您输入密码短语,用以保护私钥。您可以选择输入密码短语,也可以选择不输入(不输入密码短语可能会降低安全性)。
    
    ### 2. 将公钥复制到远程服务器
    接下来,我们需要将公钥复制到远程服务器上,以便服务器能够识别您的身份并允许免密连接。
    
    - 使用 SSH 命令将公钥复制到远程服务器:
    
      ```
      ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_server_address
      ```
    
    - 系统会提示您输入远程服务器的密码,输入密码后即可完成公钥的复制。
    
    ### 3. 配置 SSH 或 SCP 免密连接
    现在,我们可以配置 SSHSCP 的免密连接。
    
    - 打开 ~/.ssh/config 文件并添加以下内容:
    
      ```
      Host remote_server_address
      User username
      IdentityFile ~/.ssh/id_rsa
      ```
    
    - 保存并关闭 ~/.ssh/config 文件。
    
    ### 4. 测试免密连接
    现在,您可以尝试使用 SSHSCP 进行免密连接。
    
    - 使用 SSH 登录远程服务器:
    
      ```
      ssh username@remote_server_address
      ```
    
    - 使用 SCP 传输文件:
    
      ```
      scp local_file_path username@remote_server_address:remote_file_path
      ```
    
    如果免密连接配置成功,您将无需输入密码即可登录远程服务器或传输文件。
    
    ## 结语
    通过上述步骤,您已经成功配置了 LinuxSSHSCP 的免密连接。希望本文对您有所帮助。在实际应用中,请根据您的实际情况调整配置,确保安全性和便利性的平衡。祝您学习愉快,工作顺利!