小编gar*_*les的帖子

我可以自动向 known_hosts 添加新主机吗?

这是我的情况:我正在设置一个测试工具,它将从中央客户端启动多个虚拟机实例,然后通过ssh. 虚拟机将具有以前未使用的主机名和 IP 地址,因此它们不会出现在~/.ssh/known_hosts中央客户端的文件中。

我遇到的问题是ssh针对新虚拟实例运行的第一个命令总是会出现一个交互式提示:

The authenticity of host '[hostname] ([IP address])' can't be established.
RSA key fingerprint is [key fingerprint].
Are you sure you want to continue connecting (yes/no)?
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以绕过这个问题并使客户端机器已经知道新主机,也许是通过使用已经嵌入到虚拟机映像中的公钥?如果可以的话,我真的很想避免使用 Expect 或其他任何东西来回答交互式提示。

linux ssh known-hosts

298
推荐指数
13
解决办法
44万
查看次数

加快 Amazon EC2 Windows 实例的启动

我正在开发一个托管在 EC2 上的 Web 服务,需要根据负载运行不同数量的实例。我们已经启动并运行了基本服务,但我们正在努力解决的问题之一是配置和启动 Windows 实例所需的时间(我们正在使用一些仅在 Windows 上运行的第三方工具)。我已经看到这需要从 10 分钟到惊人的 45 分钟不等。

有没有人对如何加快 EC2 实例的启动有任何提示?例如,由于与 Linux AMI 相比,Windows 服务器的 AMI 很大,我想知道是否有一件事是确保包含 AMI 的 S3 存储桶位于启动实例的同一区域中,这大概是加快配置新实例的速度。

windows amazon-ec2

16
推荐指数
2
解决办法
1万
查看次数

为什么我的 ssh 超时因网络位置而异?

当我从家里通过 ssh 连接到我们的一台办公室服务器(运行 Fedora 10)时,我的会话在相当短的活动时间(5 分钟左右)后超时。我试过TcpKeepAlive在客户端使用,没有效果。

我不明白的是,如果我在公司 LAN 上的办公室,我可以让会话整天处于非活动状态而不会超时,因此这种行为似乎取决于我的位置。

任何想法为什么会发生这种情况以及如何在我不在 LAN 上时防止超时?如果有帮助,我正在 Mac OSX 上使用终端客户端。

更新- 戴夫·德拉格 (Dave Drager) 建议使用ServerAliveInterval非零设置TcpKeepAlive=no对我有用。关于其他一些答案,ClientAliveMac OSX SSH 客户端不接受 ... 设置。

linux ssh fedora timeout mac-osx

15
推荐指数
1
解决办法
9872
查看次数

如何测试新的 cron 脚本?

我在几个不同的 Linux 发行版(Fedora 11、CentOS 5 和 SuSE 10.2)上运行,并且经常遇到一个问题,即我想作为 cron 作业运行的新脚本在从命令行直接调用时可以正常工作,但由于 PATH 或其他所需环境变量的细微变化而从 cron 调用时失败。

有没有一种方法可以测试运行单个脚本,就像它是从 cron 运行一样,而不必运行整个 crontab 或使用 run-parts 运行整个 cron.daily/.hourly 等目录?我想我可以在接下来的几分钟内临时编辑我的 crontab 以运行脚本,但我宁愿有一个更独立的解决方案,这样我就不会冒着搞乱 crontab 的风险。

linux testing test cron

14
推荐指数
2
解决办法
3万
查看次数

Amazon EC2 Spot 实例 - 有问题吗?

我今天需要启动一个新的 EC2 实例,并决定试用新的Spot 实例,您可以通过竞标您准备支付的每小时最高价格来降低实例成本。由于今天的现货价格仅为 3.5c/小时,而按需实例的价格为 8.5c/小时,我想知道:如果我只是出一个非常高的价格,比如 10c/小时,我是否能有效地确保获得一个长期运行的实例比按需实例便宜得多(因为现货实例仅按当前现货价格收费)?

我认为现货价格理论上有可能超过按需价格,但据我从 AWS 网站上的数据来看,现货价格一直远低于该价格。

更新:我一直在监控小实例现货价格几个星期,它非常一致,仅在 2.9c 和 3.1c 之间变化。我写了一篇关于现货实例的更详细的博客文章,包括指向我为监控现货价格而构建的 Nagios 插件的链接。

amazon-ec2 amazon-web-services

14
推荐指数
1
解决办法
2494
查看次数

使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

我有一个计划脚本,它每小时对我们的 Subversion 存储库进行 svnsync 备份。我从根 crontab 中的一个条目运行它没有问题,但决定我想从 /etc/cron.hourly 运行它以获得额外的可见性(并且因为我们的一位工程师不小心删除了 crontab,因为他认为“crontab -r" 的意思是"阅读 crontab ;-))

cron.hourly 脚本中的 svnsync 命令全部失败,并显示一条消息,指出需要接受 SVN 存储库的 SSL 证书(这是用户第一次访问 SVN 存储库时以交互方式获得的消息,但是一旦证书我接受消息不会再次出现)。

所以在我看来,从 cron.hourly 运行脚本时,脚本是在不同的用户环境下执行的,而不是通过 root crontab 运行时。谁能解释一下区别?

更新:我应该提到我的发行版,我在 CentOS 5.1 上使用 anacron。

更新 2:感谢到目前为止的建议;我认为这更像是一个 Subversion 问题。我总是尝试将我的环境封装到我的脚本中,但这里的问题是我不确定它在(或缺乏)环境中是什么使 SVN 在我运行我的脚本时要求接受 SSL 证书cron.hourly。我猜这与 run-parts 脚本的执行方式有关。

linux svn centos cron

12
推荐指数
3
解决办法
3万
查看次数

新 Linux 实例的安装后步骤,以及如何自动执行这些步骤

每次安装新的 Linux 服务器或 VM 时,您发现自己采取了哪些安装后步骤?我对无论服务器用于什么用途都可以应用的东西感兴趣,尤其是那些可以节省上线时间的东西,以及自动化每个步骤的方法。

这是我的一组初始任务;请注意,我几乎总是使用 Fedora。

  1. 在启动时启用网络启动
  2. 将我自己添加到 sudoers 文件中
  3. 将我的 SSH 密钥对添加到 ~/.ssh/authorized_keys 以避免必须使用密码登录
  4. 将新服务器添加到我的客户端机器上的 ~/.ssh/config 以便我可以使用“ssh newserver”登录
  5. 从源代码管理中查看我定制的 .bashrc 和 .bash_profile
  6. 如果在内部网络上,将 selinux enforcing 设置为 permissive
  7. 如果在外部网络上,请安装/配置 blockhosts 以停止脚本小子
  8. 安装/配置用于 Nagios 监控的 NRPE 守护进程
  9. 安装/配置 NX 服务器以进行远程 GUI 访问

automation linux installation

5
推荐指数
1
解决办法
464
查看次数

在 EC2 上维护访问凭证的策略

当您开始处理大量实例时,管理 EC2 访问密钥和 X.509 证书可能会变得具有挑战性。此处是否有任何 EC2 用户具有以下方面的良好政策和/或工具:

  • 轮换 EC2 访问密钥和 X.509 证书
  • 防止密钥/证书的副本扩散到实例和 AMI 上
  • 将密钥保存在具有适当访问权限的中央位置 ?

security keys amazon-ec2

5
推荐指数
1
解决办法
162
查看次数