目前我已经购买了具有 ssh 访问权限的网络托管。
我已经在其上创建了一个 git 存储库,如果我在文件中设置我的公钥~/.ssh/authorized_keys
,我就可以访问该存储库,我可以推送/拉取数据等。
authorized_keys
此解决方案允许每个在文件中拥有其公钥的用户进行访问。
但有一件事我想避免。每个用户都可以登录到服务器并可以访问整个 ssh 帐户。
是否可以创建无法访问 ssh 的用户密钥黑名单?
我是这样认为的:
- 用户登录到 git - 好的,允许每个人
- 用户登录ssh账户
~/.profile
文件被挂接并调用自定义脚本:- 检查用户的公钥
- 如果公钥在
~/.ssh/blacklist_keys
调用 bashexit
/logout
有任何方法可以实现吗?
答案1
答案2
您可以禁用特定用户的 shell 登录。
chsh -s /sbin/nologin {username}
不要乱用配置文件(.profile、.bash_profile、.bashrc 等)。它们不是用来限制登录的。