免密登录
- 将公钥添加到
~/.ssh/authorized_keys
- 添加权限:
chmod 600 ~/.ssh/authorized_keys
,chmod 700 ~/.ssh
- 登录:
ssh username@server_ip
Github相关
作用:use SSH to perform Git operations in repositories on GitHub.com
步骤:
ssh-keygen -t ed25519 -C "your_email@example.com"
2. Generating a new SSH key and adding it to the ssh-agent - GitHub Docs 3. Testing your SSH connection:ssh -T git@github.com
4. Adding a new SSH key to your GitHub account - GitHub Docs
使用端口转发来远程连接内网的机器
- 涉及到三台机器,身边的电脑a,具有公网ip的机器b,远程需要被访问的电脑c
- 核心思想: 使用一台能被双方访问得到的公网机器作为代理
- 步骤:
- 电脑c需要执行
ssh -oPort=22 -CNfg -R 40000:localhost:22 root@公网ip -oPort
- 使用电脑a通过ssh登陆到机器b,再通过ssh连接本地40000端口,这样就相当于连接到了电脑c的22端口
- 电脑c需要执行
- 参考: SSH 端口转发
持续部署
- webfactory/ssh-agent: GitHub Action to setup
ssh-agent
with a private key这个action可以用来在GitHub Action进行ssh连接。 - 不过考虑到安全问题,最好是是利用SSHD来限制可执行的指令, 具体参见安全地使用 SSH 进行持续部署 - Cmj’s Blog
id_rsa和 xx.pem的区别和联系
- id_rsa 是一个私钥文件,通常用于 SSH 认证
- xx.pem 文件则通常是 PEM 格式,可能包含私钥、公钥或证书,广泛用于 SSL/TLS,可以用于多种加密场景