📜  linux ssh 进入带有私钥的机器 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:02:42.748000             🧑  作者: Mango

Linux SSH 进入带有私钥的机器

在 Linux 上,可以通过 SSH (Secure Shell)协议连接远程机器。通常,我们使用用户名和密码进行连接。但为了安全起见,更推荐使用 SSH 私钥连接。本文将介绍如何使用 SSH 私钥连接到远程机器。

生成 SSH 密钥对

首先需要在本地机器生成 SSH 密钥对。生成密钥对的命令如下:

ssh-keygen -t rsa

这个命令将创建一对公钥和私钥,并保存在本地机器的 ~/.ssh 目录中。生成过程中可以按回车键接受默认选项。

启用 SSH 服务

在远程机器上,需要启用 SSH 服务,以便我们能够通过 SSH 连接到它。具体方法因 Linux 版本而异,这里以 Ubuntu 为例。

首先,安装 SSH 服务:

sudo apt-get install openssh-server

安装完成后,可以通过如下命令检查 SSH 服务是否已经启动:

sudo service ssh status

如果 SSH 服务未启动,可以使用以下命令手动启动:

sudo service ssh start
添加公钥到远程机器

接下来,需要将本地机器的公钥添加到远程机器的 authorized_keys 文件中。authorized_keys 保存了允许登录到远程机器的公钥列表。

在本地机器上,可以用以下命令显示公钥:

cat ~/.ssh/id_rsa.pub

复制其中的公钥。

在远程机器上,使用编辑器打开 authorized_keys 文件:

sudo vi ~/.ssh/authorized_keys

如果文件不存在,则需要新建一个。将本地机器的公钥粘贴到此文件末尾,并保存。

连接到远程机器

现在,已经可以通过 SSH 连接到远程机器了。连接命令如下:

ssh -i [私钥文件路径] [用户名]@[远程机器IP地址]

其中,私钥文件路径为本地机器上私钥文件的路径,用户名为远程机器上的用户名,远程机器 IP 地址为目标机器的 IP 地址。

例如:

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

如果一切正常,就可以成功连接到远程机器了。

注意事项
  • 私钥文件的权限应为 600 或 400,以确保只有当前用户可以访问私钥。
  • SSH 连接的过程中,用户的登录名和密码实际上并没有被用到。连接成功后,将继承当前用户的身份。
  • 避免将私钥文件传送到其它机器,以免导致安全问题。