NotFound
千里之行始于足下
SSH 配置

系统环境 Ubuntu

客户端配置 KEY

可以实现:

  1. 同一主机使用不同 KEY。
  2. 不同主机使用不同 KEY。

编辑文件 ~/.ssh/config

Host gh1
  User git
  Hostname github.com
  Port 22
  IdentityFile ~/.ssh/id_ecdsa
Host gh2
  User git
  Hostname github.com
  Port 22
  IdentityFile ~/.ssh/id_ed25519

SSH 客户端通过 Host 即可使用对应的配置。

git clone gh1:owner/repo.git
git clone gh2:owner/repo.git
  • git 调用了 ssh 命令

服务器免密登录

在服务器编辑文件 ~/.ssh/authorized_keys,添加客户端的 SSH 公钥(如 ~/.ssh/id_ed25519.pub):

ssh-ed25519 AAAA***************************************************************7 notfound@ubuntu
  • ~/.ssh/authorized_keys 文件或者 ~/.ssh 目录权限过大或者不正确时不会生效。

在客户端上编辑文件 ~/.ssh/config

Host notfound
  User notfound
  Hostname notfound.cn
  Port 22
  IdentityFile ~/.ssh/id_ecdsa

直接执行 ssh notfound 即可登录服务器。

远程执行命令

配置好服务器免密登录后,通过 ssh -T HOST command 可以直接在服务器 HOST 上执行 command 命令。

如 hugo 编译,省去了手动登录的步骤:

ssh -T notfound hugo -s work/notfound.cn -d /var/www/notfound.cn

自建服务器保存 Git 仓库

配置服务器免密,登录服务器创建 git 仓库,在 $HOME 目录执行:

git init --bare demo.git

客户端配置 ~/.ssh/config 后, 执行:

git clone notfound:demo.git
# 如果未配置 `~/.ssh/config`, 则执行
git clone user@notfound.cn:demo.git

Last modified on 2020-05-01