Epiphyllum

SSH

2025-03-30

ssh#

生成密钥#

ssh-keygen -t rsa -C "YourEmailAdress"

这个指令的意思是使用 ssh-keygen 生成密钥,-t 参数密钥的加密方式是 rsa-C 参数可以为密钥指定备注

输入完成之后会进入一个交互式终端界面,首先会询问你的密钥文件名称:

Enter file in which to save the key (/Users/username/.ssh/id_rsa):

之后会提示用户输入密码:

Enter passphrase (empty for no passphrase):

这个密码是用来保护你的私钥的,嫌麻烦一路回车即可

然后就生成了公钥(.pub) 和 密钥

生成的密钥使用 ssh-add 指令添加到 ssh-agent 的身份验证代理中:

ssh-add id_rsa_github
ssh-add id_rsa_company
NOTE

如果不实用 ssh-add 指令添加新的密钥到 ssh agent 中的话,系统会仍然使用 id_rsa 作为默认的 SSH Key,因为 id_rsa 是被默认添加到 ssh agent 中的

config文件#

.ssh文件夹下创建config文件 可以使用 touch config

这个文件用于配置 SSH 客户端的信息,例如主机名、端口号、用户名、密钥等

编辑config文件

Host github.com
    User git
    Hostname github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github

config 配置文件中的各项配置意思为:

  • Host:指定连接到的主机名,可以是IP 或者 别名,ssh会自动匹配
  • User:指定使用的用户名
  • Hostname:指定连接到的主机的实际域名或IP地址
  • Port:SSH 服务的端口号,默认为 22,可以不写
  • PreferredAuthentications:指定优先使用的身份验证方法,指定为publickey,即使用公钥进行身份认证。
  • IdentityFile:指定要使用的私钥文件路径,即指向你创建的私钥
NOTE

如果ip相同会匹配第一个配置信息,假设要连上不同的github仓库,可以利用 SSH 建立连接的一个特性:目标服务器可以直接写成为服务器地址,同时也可以写为我们在 SSH config 文件中配置的 Host,也就是服务器的别名。

ssh git@github

配置Github ssh#

生成密钥后,将公钥添加到Github SSH Key,然后在config文件中添加配置即可

可以用ssh -T git@github.com 来看是否配置成功

TIP

-v 可以显示详细信息

配置服务器免密登陆#

首先生成密钥,然后把公钥到内容添加到服务器的~/.ssh/authorized_keys 每个公钥一行

然后在config文件中添加

Host your_ip
    User root
    Hostname your_ip
    IdentityFile ~/.ssh/id_rsa_aliyun
SSH
https://epiphyllum.masttf.fun/post/ssh
作者
Masttf
发布于
3/30/2025
许可协议
CC BY-NC-SA 4.0