add tech
This commit is contained in:
parent
100bef71c4
commit
2e1c14a81e
@ -5,8 +5,6 @@ hide:
|
||||
|
||||
# 首页
|
||||
|
||||
> 记录生活,积累技术。
|
||||
|
||||
Hello 👋 , 我是 Cat Tom
|
||||
|
||||
## 兴趣 & 爱好
|
||||
|
@ -0,0 +1,89 @@
|
||||
# 创建和管理 Linux 服务器用于身份验证的 SSH 密钥
|
||||
|
||||
## 使用 ssh-keygen 生成密钥
|
||||
以下 ssh-keygen 命令默认在 ~/.ssh 目录中生成 4096 位 SSH RSA 公钥和私钥文件。 如果当前位置存在 SSH 密钥对,这些文件将被覆盖。
|
||||
|
||||
```bash
|
||||
ssh-keygen \
|
||||
-m PEM \
|
||||
-t rsa \
|
||||
-b 4096 \
|
||||
-C "azureuser@myserver" \
|
||||
-f ~/.ssh/mykeys/myprivatekey \
|
||||
-N mypassphrase
|
||||
```
|
||||
|
||||
### 命令解释
|
||||
|
||||
`ssh-keygen` = 用于创建密钥的程序
|
||||
|
||||
`-m PEM` = 将密钥的格式设为 PEM
|
||||
|
||||
`-t rsa` = 要创建的密钥类型,本例中为 RSA 格式
|
||||
|
||||
`-b 4096` = 密钥的位数,本例中为 4096
|
||||
|
||||
`-C "azureuser@myserver"` = 追加到公钥文件末尾以便于识别的注释。 通常以电子邮件地址用作注释,但也可以使用任何最适合你事物。
|
||||
|
||||
`-f ~/.ssh/mykeys/myprivatekey` = 私钥文件的文件名(如果选择不使用默认名称)。 追加了 .pub 的相应公钥文件在相同目录中生成。 该目录必须存在。
|
||||
|
||||
`-N mypassphrase` = 用于访问私钥文件的其他密码。
|
||||
|
||||
## 使用 ssh-agent 来存储私钥密码
|
||||
为了避免在每次 SSH 登录时键入私钥文件密码,可以使用 `ssh-agent` 来缓存私钥文件密码。 如果使用 Mac,macOS Keychain 在用户调用 `ssh-agent` 时会安全存储私钥密码。验证并使用 `ssh-agent` 和 `ssh-add` 将密钥文件的情况通知给 SSH 系统,这样就无需交互使用密码。
|
||||
|
||||
```bash
|
||||
eval "$(ssh-agent -s)"
|
||||
```
|
||||
|
||||
现在,使用命令 `ssh-add` 将私钥添加到 `ssh-agent`。
|
||||
|
||||
```bash
|
||||
ssh-add ~/.ssh/id_rsa
|
||||
```
|
||||
|
||||
私钥密码现在存储在 `ssh-agent` 中。
|
||||
|
||||
## 使用 ssh-copy-id 将密钥复制到现有服务器
|
||||
如果已有服务器,可以使用 `ssh-copy-id`将新的 SSH 公钥添加到 Linux 服务器。
|
||||
|
||||
```bash
|
||||
ssh-copy-id -i ~/.ssh/id_rsa.pub azureuser@myserver
|
||||
```
|
||||
|
||||
## 创建并配置 SSH 配置文件
|
||||
可创建并配置 SSH 配置文件 (`~/.ssh/config`),以便加速登录和优化 SSH 客户端行为。
|
||||
|
||||
以下示例显示一个简单配置,通过此配置,你可以使用默认的 SSH 私钥以用户身份快速登录到特定 VM。
|
||||
|
||||
创建文件。
|
||||
|
||||
```Bash
|
||||
touch ~/.ssh/config
|
||||
```
|
||||
|
||||
编辑文件以添加新的 SSH 配置
|
||||
|
||||
```Bash
|
||||
nano ~/.ssh/config
|
||||
```
|
||||
|
||||
添加适用于主机 VM 的配置设置。 在此示例中,VM 名称(主机)为 myvm,帐户名称(用户)为 azureuser,IP 地址或 FQDN(主机名)为 192.168.0.255。
|
||||
|
||||
```Bash
|
||||
# Azure Keys
|
||||
Host myvm
|
||||
Hostname 192.168.0.255
|
||||
User azureuser
|
||||
# ./Azure Keys
|
||||
```
|
||||
|
||||
可为其他主机添加配置,让每台主机使用其自己的专用密钥对。 查看 SSH 配置文件获取更多高级配置选项。
|
||||
|
||||
获得 SSH 密钥对和配置的 SSH 配置文件后,便可快速安全地远程访问 Linux VM。 运行以下命令时,SSH 从 SSH 配置文件的 Host myvm 块中找到所有设置并加载它们。
|
||||
|
||||
```Bash
|
||||
ssh myvm
|
||||
```
|
||||
|
||||
首次使用 SSH 密钥登录到服务器时,命令会提示用户输入该密钥文件的密码。
|
3
docs/tech/index.md
Normal file
3
docs/tech/index.md
Normal file
@ -0,0 +1,3 @@
|
||||
# 技术
|
||||
> 路漫漫其修远兮,吾将上下而求索。
|
||||
> ——《离骚》
|
@ -75,6 +75,7 @@ nav:
|
||||
- 随想随写:
|
||||
- blog/index.md
|
||||
- 标签: blog/tags.md
|
||||
- 技术: tech/index.md
|
||||
- "MkDocs 参考": examples/index.md
|
||||
|
||||
plugins:
|
||||
|
Loading…
x
Reference in New Issue
Block a user