免密ssh连接远程服务器

免密ssh连接远程服务器

一、使用公钥验证

1.本地服务器生成公钥和私钥

ssh-keygen -t rsa -b 4096

2.文件授权

chmod 600 ~/.ssh/id_rsa

chmod 644 ~/.ssh/id_rsa.pu

3.复制公钥内容

cat ~/.ssh/id_rsa.pub

4.登录远程服务器

ssh username@remote_server

5.创建 .ssh 目录(如果不存在):在远程服务器的用户主目录中,使用以下命令创建 .ssh 目录:

mkdir -p ~/.ssh

6.编辑 authorized_keys 文件:使用以下命令编辑或创建 authorized_keys 文件:

nano ~/.ssh/authorized_keys

7.如果文件已存在,请将光标移到文件的末尾。如果文件不存在,则创建一个新文件并打开编辑器。

8.将公钥粘贴到 authorized_keys 文件:将之前复制的公钥内容粘贴到打开的 authorized_keys 文件中。确保将整个公钥粘贴为一行,并保存文件。

9.将公钥粘贴到 authorized_keys 文件:将之前复制的公钥内容粘贴到打开的 authorized_keys 文件中。确保将整个公钥粘贴为一行,并保存文件。

10.退出远程服务器:使用以下命令退出远程服务器。

exit

11.测试 SSH 密钥身份验证

ssh username@remote_server

二、高级选项:使用 SSH 代理

SSH 代理是一种方便的方法,允许您在通过 SSH 连接到远程服务器时使用本地机器上的 SSH 密钥。这对于跳板服务器等复杂的网络配置特别有用。

以下是使用 SSH 代理的步骤:

1.在本地机器上编辑 SSH 配置文件:使用以下命令编辑 SSH 配置文件:

1
nano ~/.ssh/config

2.在文件中添加以下内容:

1
2
Host remote_server
ForwardAgent yes

remote_server 替换为远程服务器的别名或 IP 地址。

  1. 保存并关闭文件。
  2. 连接到跳板服务器:如果您使用了跳板服务器,可以使用以下命令连接到远程服务器:
1
ssh -A username@jump_server
  1. 从跳板服务器连接到目标远程服务器:在跳板服务器上,使用以下命令连接到目标远程服务器:
1
ssh username@remote_server

免密ssh连接远程服务器
https://shuzhanboke.github.io/2024/07/15/运维/免密ssh登录远程服务器/
作者
John Doe
发布于
2024年7月15日
许可协议