没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Linux 系统管理工具包使用 SSH 进行分布式管理
Linux 系统管理工具包: 使用 SSH 进行分布式管理
本书网络下载内容丰富,分享给大家学习。
使用安全 Shell (SSH) 在远程 UNIX 系统中运行命令,并使用一些
简单的脚本构成一个系统,该系统允许您在一台计算机中同时管理许
多系统,而无需直接登录到计算机本身。本文还介绍了分布式管理系
统的基础知识,以及使用该技术的某些脚本和解决方案。
关于本系列
典型的 UNIX 管理员拥有一套经常用于辅助管理过程的关键实用
工具、诀窍和系统。存在各种用于简化不同过程的关键实用工具、命
令行链和脚本。其中一些工具来自于操作系统,而大部分的诀窍则来
源于长期的经验积累和减轻系统管理员工作压力的要求。本系列文章
主要专注于最大限度地利用各种 UNIX 环境中可用的工具,包括简化
异构环境中的管理任务的方法。
对远程登录进行简化
安全 Shell (SSH) 工具为远程主机的登录和交换信息提供了一种安
全的方法。其中提供了大量不同的工具,包括通用的 SSH 工具(它提
供了远程终端连接)、 SCP(一种安全的、主机到主机的、复制解决
方案)和 SFTP(一种安全的文件复制解决方案,采用了与标准 FTP 工
具类似的工作方式)。
所有这些工具都是安全的,因为对交换的信息进行了加密。此外,
使用了公钥或者私钥机制确保连接的身份验证的安全。 SSH 的主要优
点之一是,通过将您的公钥复制到一台远程计算机,您可以绕过正常
的登录和密码交换。
尽管使用 SSH 登录到远程计算机是非常有用的(因为这样做意味
着您无需提供密码),不过在执行远程管理方面,它更有价值。如果
必须输入密码,将使得无法实现远程管理(例如,通过 cron 运行一个
命令)的自动化,因为在自动化的脚本中,您无须输入密码!
如果不交换您的公钥,那么使用 SSH 在多台计算机中运行相应的
命令时,您必须为每台计算机输入您的密码。
要完成这种设置,有一种快速而简单的方法,即创建一个公钥:
1.$ ssh-keygen -t rsa
复制代码
请按照屏幕上的说明执行相应的操作,但是在提示设置密码时,
不要进行设置,因为您需要在每次输入密码时使用这个密钥。这个操
作 将 创 建 一 个 私 钥 和 一 个 公 钥 文 件 。 现 在 您 只 需 要 追
加 .ssh/id_rsa.pub 中公钥文件的内容即可,并将其追加到远程主机
的 .ssh/authorized_key 文件和您在登录时希望使用的用户。您
需要将这个公钥文件的内容
追加到您希望自动地进行登录的每台计算机。
运行远程命令
您可以通过许多方式来运行远程命令。
通过将您希望 SSH 运行的命令添加在登录或者主机信息的后面,
您可以运行单个远程命令。例如,要获取一台远程主机的磁盘信息,
您可以使用下面清单 1 中的这个命令,并获得相应的输出结果。
清单 1. 通过 SSH 运行一个简单的命令
1.$
2.
3.Filesystem 1K-blocks Used Available Use% Mounted on
4./dev/hda3 14544820 3611520 10194464 27% /
5.udev 128044 564 127480 1% /dev
6./dev/hdc1 1968872 50340 1818516 3% /var/tmp
7./dev/hdc2 1968904 1482220 386668 80% /usr/portage
8./dev/hdc3 1968904 35760 1833128 2% /home/build
9.shm 128044 0 128044 0% /dev/shm
复制代码
请记住,如果您尚未与这台远程主机交换您的公钥,那么清单 1
中的序列需要您输入一个密码。
通过使用分号隔开每个命令,然后将整个命令序列用引号引起来
(以便能够将其识别为单个参数),您还可以执行一系列的命令。
清单 2 中显示了一个执行磁盘检查和正常运行时间检查的示例。
清单 2. 执行磁盘检查和正常运行时间检查
1.$"df;uptime"
2.Filesystem 1K-blocks Used Available Use% Mounted on
3./dev/hda3 14544820 3611520 10194464 27% /
4.udev 128044 564 127480 1% /dev
5./dev/hdc1 1968872 50340 1818516 3% /var/tmp
6./dev/hdc2 1968904 1488100 380788 80% /usr/portage
7./dev/hdc3 1968904 35760 1833128 2% /home/build
8.shm 128044 0 128044 0% /dev/shm
9.14:31:27 up 12 min, 2 users, load average: 0.01, 0.05, 0.06
复制代码
在这个操作中,您可以将希望执行的许多命令联接成字符串。还
可以进行筛选工作,例如使用 grep 或者其他工具,但是您需要确保将
整个远程命令表达式嵌入到引号中(请参见清单 3)。
清单 3. 使用 grep 进行筛选
1.$"cat/var/log/messages|grep'su\['"
2.Dec 17 18:05:37 localhost su[19218]: pam_authenticate:
Permission denied
3.Dec 17 18:05:37 localhost su[19218]: FAILED su for root by
mc
4.Dec 17 18:05:37 localhost su[19218]: - pts/1 mc:root
5.Dec 17 18:06:31 localhost su[19221]: pam_authenticate:
Permission denied
6.Dec 17 18:06:31 localhost su[19221]: FAILED su for root by
mc
7.Dec 17 18:06:31 localhost su[19221]: - pts/1 mc:root
8.Dec 17 18:06:40 localhost su[19222]: pam_authenticate:
Permission denied
剩余10页未读,继续阅读
资源评论
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功