ubuntu

Ubuntu SSH密钥认证怎么用

小樊
60
2025-03-10 07:19:09
栏目: 智能运维

在Ubuntu系统中使用SSH密钥认证可以提供更安全的远程登录方式。以下是设置和使用SSH密钥认证的步骤:

生成SSH密钥对

  1. 打开终端

  2. 输入以下命令生成一个新的SSH密钥对:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    这里,-t rsa 指定使用RSA算法,-b 4096 指定密钥长度为4096位,-C 是注释,可以填写你的邮箱地址。

  3. 按照提示操作,选择保存密钥的位置(通常是 ~/.ssh/id_rsa)和设置一个可选的密码短语。

将公钥复制到远程服务器

  1. 使用 ssh-copy-id 命令将公钥复制到远程服务器:

    ssh-copy-id user@remote_host
    

    其中,user 是远程服务器上的用户名,remote_host 是远程服务器的IP地址或域名。

  2. 如果 ssh-copy-id 命令不可用,你可以手动复制公钥:

    • 在本地机器上找到公钥文件(通常是 ~/.ssh/id_rsa.pub)。
    • 登录到远程服务器,编辑 ~/.ssh/authorized_keys 文件:
      nano ~/.ssh/authorized_keys
      
    • 将公钥内容粘贴到文件中,保存并退出。

使用SSH密钥认证登录

  1. 现在你可以使用SSH密钥认证登录到远程服务器:

    ssh user@remote_host
    
  2. 如果设置了密码短语,系统会提示你输入密码短语。

配置SSH客户端

你可以在 ~/.ssh/config 文件中配置SSH客户端,以便更方便地使用SSH密钥认证。例如:

Host remote_host
    HostName remote_host_ip_or_domain
    User user
    IdentityFile ~/.ssh/id_rsa

禁用密码登录(可选)

为了提高安全性,你可以禁用SSH密码登录,只允许密钥认证。编辑远程服务器上的 /etc/ssh/sshd_config 文件:

sudo nano /etc/ssh/sshd_config

找到并修改以下行:

PasswordAuthentication no

保存并退出,然后重启SSH服务:

sudo systemctl restart sshd

通过以上步骤,你就可以在Ubuntu系统中使用SSH密钥认证进行安全的远程登录了。

0
看了该问题的人还看了