比如,我可以设置一个 user ,然后只生成针对他的密钥对。
然后在客户机上用这个私钥连接服务器吗?
网上找的大多都是直接 root
是不是理解错了。密钥对和账户没有对应关系。我用密钥登录任意的账户都可以?
是的
看来上面的假设是错误的。
是吗?我用其他用户登录时候报错: Permission denied (publickey).
把对应公钥加入到对应账户的~/.ssh/authorized_keys 文件中即可指定某账户使用指定的 key
比如,如果我的密钥所有用户都可以用 - 包括 root 。。。那我也不能分发出去吧。
密钥对是你自己的,你可以用你的密钥对去登陆你的自己的任何一个服务器里的任何一个你有权限的账户
你的密钥对当然只能你自己用啊,你在一台服务器上有 root 和 abc 两个用户,那这两个用户你都可以登录啊
ssh-copy-id [email protected]
1 楼和 2 楼属于牛头不对马嘴的提问回答。
密钥对和账户没有对应关系。
密钥对里私钥和公钥对应,凡是账户中有密钥对中的公钥的,都可以用对应私钥来登录。
所以你用密钥可以登录任意的账户。
但是你不能用密钥登录一个随意的账户。
简单来讲,你把公钥写到谁的 authorizedkeys 里,就可以登录谁的账号
你可以用一个密钥对应你的所有账户,也可以每个账户对应一个密钥。重点是你把哪个公钥放在了用户文件夹下 $HOME/.ssh 不同的人,可以持有同样的密钥登录同样或者不同的账户,也可以持有不同的密钥登录不同的账户。但是好像不能持有不同密钥登录同样的账户(楼下解释下可以不,我没这么用过)。
你可以设置一个 user ,用你现有的密钥或者生成一个新密钥都可以,放在~/.ssh 下就可以了 楼上都讲过了
/etc/sshd_config 里还可以用 Match 语句来绑定某特定账户只能用某特定验证方式。