使用 ssh 密钥登录如何设置权限?

2015-11-03 22:35:04 +08:00
 zhangv

比如,我可以设置一个 user ,然后只生成针对他的密钥对。
然后在客户机上用这个私钥连接服务器吗?
网上找的大多都是直接 root

3745 次点击
所在节点    Linux
13 条回复
zhangv
2015-11-03 22:38:34 +08:00
是不是理解错了。密钥对和账户没有对应关系。我用密钥登录任意的账户都可以?
Tink
2015-11-03 22:41:03 +08:00
是的
zhangv
2015-11-03 22:41:28 +08:00
看来上面的假设是错误的。
zhangv
2015-11-03 22:42:06 +08:00
@Tink 是吗?我用其他用户登录时候报错: Permission denied (publickey).
LoliconInside
2015-11-03 22:43:30 +08:00
把对应公钥加入到对应账户的~/.ssh/authorized_keys 文件中即可指定某账户使用指定的 key
zhangv
2015-11-03 22:44:24 +08:00
@Tink 比如,如果我的密钥所有用户都可以用 - 包括 root 。。。那我也不能分发出去吧。
Tink
2015-11-03 22:45:26 +08:00
@zhangv 密钥对是你自己的,你可以用你的密钥对去登陆你的自己的任何一个服务器里的任何一个你有权限的账户
Tink
2015-11-03 22:47:23 +08:00
@zhangv 你的密钥对当然只能你自己用啊,你在一台服务器上有 root 和 abc 两个用户,那这两个用户你都可以登录啊
187j3x1
2015-11-03 22:47:50 +08:00
@zhangv ssh-copy-id anotheruser@host
msg7086
2015-11-03 22:57:13 +08:00
1 楼和 2 楼属于牛头不对马嘴的提问回答。

密钥对和账户没有对应关系。
密钥对里私钥和公钥对应,凡是账户中有密钥对中的公钥的,都可以用对应私钥来登录。

所以你用密钥可以登录任意的账户。
但是你不能用密钥登录一个随意的账户。
ryd994
2015-11-04 00:30:53 +08:00
简单来讲,你把公钥写到谁的 authorizedkeys 里,就可以登录谁的账号
SharkIng
2015-11-04 03:55:01 +08:00
你可以用一个密钥对应你的所有账户,也可以每个账户对应一个密钥。重点是你把哪个公钥放在了用户文件夹下 $HOME/.ssh 不同的人,可以持有同样的密钥登录同样或者不同的账户,也可以持有不同的密钥登录不同的账户。但是好像不能持有不同密钥登录同样的账户(楼下解释下可以不,我没这么用过)。

你可以设置一个 user ,用你现有的密钥或者生成一个新密钥都可以,放在~/.ssh 下就可以了 楼上都讲过了
likuku
2015-11-04 10:20:23 +08:00
/etc/sshd_config 里还可以用 Match 语句来绑定某特定账户只能用某特定验证方式。

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

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

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

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

© 2021 V2EX