我甚至不知道这是否可能,但我想无论如何我都会问!
我想知道,是否可以在 SSH 登录后立即运行脚本?我的想法是制作一个 Python 脚本,该脚本在用户登录后立即执行,需要用户输入(例如输入密码)。如果验证失败,则退出用户会话。
这对于记录连接(发送电子邮件警报)也很方便。
EC2 很棒,但如果有人拿到了我的私钥,就可以访问服务器。我知道有办法通过强大的安全组和端口更改来防止随机访问,但是登录时设置密码陷阱总不会有什么坏处!
有人知道这是否可能吗?
答案1
首先,在你的私钥上输入一个密码ssh-keygen -p
。
然后,登录后有几种方法可以获得控制权。
- 一种是通过每个用户的 shell 启动文件或
/etc
某些 shell 所具有的 shell 启动文件。1 - 另一种方法(在旧版 OpenSSH 中不起作用)是使用
forcecommand
选择sshd_config.
- 另一种方法是使用
command=
选项中的authorized_keys
文件。
对于在程序控制下登录的代理来说,在私钥上设置密码效果并不好。在这种情况下,最好为代理指定一个登录帐户(即不要使用具有交互功能的帐户),然后通过第二种或第三种方法强制它只做一件事。
1. 在这种情况下,你需要确保全部shell 启动文件来自代理用户。这可能很棘手。如果您尝试让它们归 root 所有,系统或 shell 可能会反对。这通常是更危险的方法。