第90节 ssh 到 GitHub actions


❤️💕💕记录sealosopen in new window开源项目的学习过程。k8s,docker和云原生的学习open in new window。Myblog:http://nsddd.topopen in new window


[TOC]

环境说明

情况一

我们有一台A服务器,以及B服务器,总共两台

我们登陆到A服务器,然后在A服务器进行登陆B服务器

如果使用账号密码登陆,那么每次就需要输入密码

我们进行ssh密钥认证的方式就可以免密码登陆了

情况二

我们有 actions 做自动化测试,我希望 actions 可以帮助我们自动化部署到 服务器,需要 ssh 的免密登陆

Linux 免密登陆

B 服务器步骤

在您的 Linux 服务器上创建一个 authorized_keys 文件,以便您可以将您的 SSH 公钥添加到该文件中,以便您可以通过 SSH 密钥认证来访问该服务器。

要创建 authorized_keys 文件,可以按照以下步骤操作:

1.打开终端,登录到您的 Linux 服务器。

2.进入您的 home 目录,如果该目录不存在,则可以使用以下命令进行创建:

mkdir -p ~/.ssh

3.使用以下命令创建 authorized_keys 文件:

touch ~/.ssh/authorized_keys

4.使用文本编辑器(例如 vi 或 nano)打开 authorized_keys 文件,将您的 SSH 公钥(B 的步骤得到的 公钥) 复制到该文件中并保存。

5.为了确保该文件的权限正确,请使用以下命令设置 authorized_keys 文件的权限为 600:

chmod 600 ~/.ssh/authorized_keys

完成上述步骤后,您的 SSH 公钥就已经被添加到了您的 Linux 服务器上,您可以使用 SSH 密钥认证方式访问该服务器了。

在A服务器执行一下步骤

1.生成密钥对:

$ ssh-keygen -t rsa -b 2048

或者使用以下命令

ssh-keygen -t rsa -b 4096 -C "3293172751nss@gmail.com"

检查:

ssh root@43.154.157.177

执行完后,会在~/.ssh/目录下生成id_rsa和id_rsa.pub两个文件,其中id_rsa是私钥,需要妥善保管,id_rsa.pub是公钥,需要放到远程服务器上进行认证。

2.将公钥添加到远程服务器:

将公钥id_rsa.pub的内容复制到远程服务器的~/.ssh/authorized_keys文件中,可以使用以下命令实现:

$ ssh-copy-id user@remote-server

这个命令会将本地公钥添加到远程服务器上的authorized_keys文件中,如果该文件不存在,则会自动创建。在执行该命令前,请确保远程服务器上的~/.ssh/目录的权限是700,authorized_keys文件的权限是600。

END 链接