想要一种通过 LDAP 进行 SSH 密钥身份验证的方法。
我们将 LDAP (slapd) 用于目录服务,并且我们最近转向使用我们自己的 AMI 来构建实例。AMI 位很重要的原因是,理想情况下,我们希望能够在实例运行后立即通过密钥身份验证使用 SSH 登录,而不必等待我们有点慢的配置管理工具启动要添加的脚本实例的正确密钥。
理想的情况是,在将用户添加到 LDAP 时,我们也添加了他们的密钥,他们可以立即登录。
密钥身份验证是必须的,因为基于密码的登录既不安全又麻烦。
我读过这个问题,它表明有一个名为 OpenSSH-lpk 的 OpenSSH 补丁来执行此操作,但 OpenSSH 服务器不再需要 >= 6.2
添加了 sshd_config(5) 选项 AuthorizedKeysCommand 以支持除了(或代替)从文件系统之外,还支持从命令中获取 authorized_keys。该命令在 AuthorizedKeysCommandUser sshd_config(5) 选项指定的帐户下运行
如何配置 OpenSSH 和 LDAP 来实现这一点?
我已经阅读了很多关于什么 Nginx 配置适合 SSE 的不同问题,并提出了一些关于使用哪些设置的令人困惑的结果:
那么正确答案是什么?
我有几个 EC2 Spot 请求,它们在价格合适时启动 EC2 实例。我希望生成的实例使用 aName和Roletag 进行标记,以便我的配置管理工具知道它是什么类型的机器。
更新:
我采纳了 Hyper Anthony 的建议并实施了它——因为轮询容易出错且占用大量资源,我向我的 AMI 添加了一个启动脚本,它会在实例启动时更新标签,这些是我采取的步骤:
pip install boto
您正在启动的实例必须有某种方式来访问有关 Spot 请求的信息。使用 IAM 角色或将访问密钥提供给您的实例。我附加到我使用的 IAM 角色的策略是:
{
"Statement": [
{
"Action": [
"ec2:CreateTags",
"ec2:DescribeTags",
"ec2:DescribeInstances"
],
"Effect": "Allow",
"Resource": [
"*"
],
"Sid": "Stmt1432737176000"
}
],
"Version": "2012-10-17"
}
Run Code Online (Sandbox Code Playgroud)
def get_tags_from_spot_request():
instance_id = boto.utils.get_instance_identity()['document']['instanceId']
region = boto.utils.get_instance_identity()['document']['region']
conn = boto.ec2.connect_to_region(region)
inst = boto.ec2.instance.Instance(connection=conn)
inst.id = …Run Code Online (Sandbox Code Playgroud) 我在 AWS VPC 内运行我自己的 NAT 实例。我想确保 NAT 实例不会成为瓶颈,为此我想为何时扩展到辅助 NAT(如果有的话)设定我自己的期望。
我知道实例类型(当前是 m1.medium,如果这很重要)是其中的一个重要方面,但想知道如何检查 NAT 实例是否开始达到其最大值以及我是否可以实现更好的吞吐量VPC 中的机器,如果其中一些机器使用不同的 NAT 实例。
它通过一个非常简单的 iptables 指令进行 NAT,如下所示:
$ iptables --table nat --list
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.0.0/16 anywhere
Run Code Online (Sandbox Code Playgroud) 我正在尝试以编程方式设置 vpn 应推送到客户端的路由,其中主要的路由之一是 VPC 网络。有没有办法从我的 vpn 实例中获取 VPC CIDR 块?
有没有一种简单的方法来计算匹配返回的仆从数量,例如:
salt -C 'G@ec2_roles:test' match.count
Run Code Online (Sandbox Code Playgroud)