Ubuntu系统如何创建私钥,使用私钥登录服务器

avatar
作者
筋斗云
阅读量:2

在Ubuntu系统中创建私钥并使用私钥登录服务器,通常涉及以下步骤:

1. 生成SSH密钥对

  • 打开终端。
  • 使用ssh-keygen命令生成密钥对。例如,要生成一个4096位的RSA密钥对,并附加一个注释(通常是你的电子邮件地址),可以运行:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

这将在你的用户目录的.ssh/子目录下生成id_rsa(私钥)和id_rsa.pub(公钥)两个文件。

2. 将公钥复制到服务器

ssh-copy-id -i ~/.ssh/id_rsa.pub username@192.168.1.10

首次执行此命令时,系统会提示你输入服务器的登录密码以进行验证。验证成功后,公钥将被添加到服务器的~/.ssh/authorized_keys文件中。

  • 你可以使用ssh-copy-id命令将公钥复制到服务器上。例如,如果服务器的用户名为username,IP地址为192.168.1.10,你可以运行:

3. 使用私钥登录服务器

ssh -i ~/.ssh/id_rsa username@192.168.1.10


如果私钥设置了密码保护,系统会提示你输入私钥的密码。

  • 一旦公钥被复制到服务器上,你就可以使用私钥登录到服务器了。使用ssh命令并指定私钥文件的位置(如果私钥文件不在默认位置):

4.(可选)配置SSH以使用密钥进行身份验证

如果你想确保SSH只使用密钥进行身份验证并禁用密码登录,你可以编辑服务器上的SSH配置文件(通常是/etc/ssh/sshd_config)。找到并修改以下行:

PasswordAuthentication no  PubkeyAuthentication yes

然后重启SSH服务以使更改生效。这取决于你使用的Ubuntu版本和SSH服务器软件,但通常可以使用以下命令之一来重启SSH服务:

sudo service ssh restart  # 或者  sudo systemctl restart sshd

请注意,这些步骤假设你已经在Ubuntu客户端上安装了SSH客户端软件(通常是openssh-client包),并且在服务器上安装了SSH服务器软件(通常是openssh-server包)。如果尚未安装这些软件包,请使用适合你的Ubuntu版本的包管理器(如apt)进行安装。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!