ssh 配置疑问

2019-12-22 15:06:50 +08:00
 Gav1n

SSH 配置疑问

我想在多台机器上,使用一对 rsa 去管理云服务器,操作如下

  1. ssh-keygen -t rsa -C "aliyun"
  2. 生成的文件名,也更改成了 aliyun
  3. 将 aliyun.pub 内容写入到服务器中的 authorized_keys
  4. 复制 aliyun 公钥对,到其他机器上。
  5. 配置 config
Host yun
    HostName xxx(我自己的 ip)
	IdentityFile ./aliyun
    Port 22
    User root
Host github
   HostName github.com
   IdentityFile ./github
   User git
Host gitee
   HostName gitee.com
   IdentityFile ./gitee
   User git

登陆,提示成功
但是我同样的操作,生成 github 秘钥对的时候,却在另一台机器无法同步代码,大佬们,这是什么情况?
配置文件还是上面的
输入 ssh -T github 控制台打印 :Hi skrbug! You've successfully authenticated, but GitHub does not provide shell access.

拉取项目,提示: git@github.com: Permission denied (publickey).

2333 次点击
所在节点    程序员
5 条回复
Gav1n
2019-12-22 15:20:12 +08:00
已解决,把配置文件改成这样的就好了。
```
Host *
HostName github.com
IdentityFile ./github
User git
Host *
HostName gitee.com
IdentityFile ./gitee
User git
```
主题不知道从哪里删...
indev
2019-12-22 15:32:22 +08:00
skrbug
Gav1n
2019-12-22 22:38:45 +08:00
还有两个坑,来补充下... 以防有 V 友按照上面方法依然不成功

1. IdentityFile,不要写相对路径,一开始我是认为 win 无法用./ 这个路径写法,转而换成.\ 发现依然报错. 后来切换成 ubuntu,书写 aliyun 依然报错,故不要写相对路径
2. 权限问题,拷贝到其他系统时,权限不可以设置成 777, 而是要改成 600,切记! 这是硬性要求,也是处于安全考虑.
3. 如果设置完毕后,没有生效,执行下此命令(推测是起到刷新 ssh 缓存的作用).
eval "$(ssh-agent -s)"
ssh-add



参考帖子:
https://blog.csdn.net/zcc_heu/article/details/79017606
https://www.cnblogs.com/ailhc/p/6586465.html
lostpg
2019-12-23 01:11:07 +08:00
分享下自己配置 ssh 的填坑路:

- 在 zshrc/bashrc 中添加 ssh-agent 的 auto setup,我用的 [M$ vscode 的 ssh-agent 启动脚本]( https://code.visualstudio.com/docs/remote/troubleshooting#_setting-up-the-ssh-agent) 的配置,并将 `.ssh/ssh-agent` 改成绝对路径。( zsh 再添上 `zstyle ':completion:*:ssh:*' hosts off` 让 ssh 不使用 `/etc/hosts/` 内网址做补全候选)
- 所有公私钥都不用默认名,在 ssh config 中添加对应的条目,把每一条主机配置都加上 `addKeysToAgent yes` (因为我私钥有 passphrase )。

这样,配合 ssh-agent,所有有 passphrase 的私钥,只需要第一次使用密钥时(而不是第一次登录 shell )输入 passphrase,之后都免密登录。重启失效。
Gav1n
2019-12-23 20:48:52 +08:00
@lostpg 谢谢老哥分享,改天试试 agent,还没用过

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/631226

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX