LINUX远程管理工具SSH指南

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LINUX远程管理工具SSH指南

发布时间:2004年2月16日 16时52分

OpenSSH

OpenSSH 是 SSH (Secure SHell)协议的免费开源实现。它用安全、加密的网络连接工具代替了 telnet、ftp、 rlogin、rsh 和 rcp 工具。OpenSSH 支持 SSH 协议的版本 1.3、1.5、和 2。自从 OpenSSH 的版本 2.9 以来,默认的协议是版本 2,该协议默认使用 RSA 钥匙。

1. 为什么使用 SSH?

使用 OpenSSH 工具将会增进你的系统安全性。所有使用 OpenSSH 工具的通讯,包括口令,都会被加密。 telnet 和 ftp 使用纯文本口令,并被明文发送。这些信息可能会被截取,口令可能会被检索,然后未经授权的人员可能会使用截取的口令登录进你的系统而对你的系统造成危害。你应该尽可能地使用 OpenSSH 的工具集合来避免这些安全问题。

另一个使用 OpenSSH 的原因是,它自动把 DISPLAY 变量转发给客户机器。换一句话说,如果你在本地机器上运行 X 窗口系统,并且使用 ssh 命令登录到了远程机器上,当你在远程机器上执行一个需要 X 的程序时,它会显示在你的本地机器上。如果你偏爱图形化系统管理工具,却不能够总是亲身访问该服务器,这就会为你的工作大开方便之门。

2. 配置 OpenSSH 服务器

要运行 OpenSSH 服务器,你必须首先确定你安装了正确的 RPM 软件包。openssh-server 软件包是必不可少的,并且它依赖于 openssh 软件包的安装与否。

OpenSSH 守护进程使用 /etc/ssh/sshd_config 配置文件。Red Hat Linux 9 安装的默认配置文件在多数情况下应该足以胜任。如果你想使用没有被默认的 sshd_config 文件提供的方式来配置守护进程,请阅读 sshd 的说明书(man)页来获取能够在配置文件中定义的关键字列表。

要启动 OpenSSH 服务,使用 /sbin/service sshd start 命令。要停止 OpenSSH 服务器,使用 /sbin/service sshd stop 命令。如果你想让守护进程在引导时自动启动,请参阅相

关资料来获取关于如何管理服务的信息。

如果你重新安装了 Red Hat Linux 系统,任何在它被重装前使用 OpenSSH 工具连接到这个系统上的客户在它被重装后将会看到下列消息:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that the RSA host key has just been changed.

重装后的系统会为自己创建一组新的身份标识钥匙;因此客户会看到 RSA 主机钥匙改变的警告。如果你想保存系统原有的主机钥匙,备份 /etc/ssh/ssh_host*key* 文件,然后在系统重装后恢复它。该过程会保留系统的身份。当客户机在该系统重装后试图连接它,它们就不会看到以上的警告信息。(还有一种解决方法

见:/forum/viewtopic.php?t=109562&start=0)

3. 配置 OpenSSH 客户

要从客户机连接到 OpenSSH 服务器上,你必须在客户机器上装有 openssh-clients 和openssh 软件包。

3.1. 使用 ssh 命令

ssh 命令是 rlogin、rsh 和 telnet 命令的安全替换。它允许你在远程机器上登录并在其上执行命令。

使用 ssh 来登录到远程机器和使用 telnet 相似。要登录到一个叫做

的远程机器,在 shell 提示下键入下面的命令:

ssh

第一次使用 ssh 在远程机器上登录时,你会看到和下面相仿的消息:

The authenticity of host cant be established.

DSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c.

Are you sure you want to continue connecting (yes/no)?

键入 yes 来继续。这会把该服务器添加到你的已知主机的列表中,如下面的消息所示:Warning: Permanently added (RSA) to the list of known hosts. 下一步,你会看到向你询问远程主机口令的提示。在输入口令后,你就会在远程主机的 shell 提示下了。如果你没有指定用户名,你在本地客户机器上登录用的用户名就会被传递给远程机器。如果你想指定不同的用户名,使用下面的命令:

ssh username@

你还可以使用 ssh -l username 。

ssh 命令可以用来在远程机器上不经 shell 提示登录而执行命令。它的语法格式是: ssh hostname command。譬如,如果你想在远程主机 上执行 ls

/usr/share/doc 命令,在 shell 提示下键入下面的命令:

ssh ls /usr/share/doc

在你输入了正确的口令之后, /usr/share/doc 这个远程目录中的内容就会被显示,然后你就会被返回到你的本地 shell 提示下。

3.2. 使用 scp 命令

scp 命令可以用来通过安全、加密的连接在机器间传输文件。它与 rcp 相似。

把本地文件传输给远程系统的一般语法是:

scp localfile username@tohostname:/newfilename

localfile 指定源文件,username@tohostname:/newfilename 指定目标文件。

要把本地文件 shadowman 传送到你在 上的账号内,在 shell 提示下键入(把 username 替换成你的用户名):

scp shadowman username@:/home/username

这会把本地文件 shadowman 传输给 上的

/home/username/shadowman 文件。

把远程文件传输给本地系统的一般语法是:

scp username@tohostname:/remotefile /newlocalfile

remotefile 指定源文件,newlocalfile 指定目标文件。

源文件可以由多个文件组成。譬如,要把目录 /downloads 的内容传输到远程机器 上现存的 uploads 目录,在 shell 提示下键入下列命令:

scp /downloads/* username@:/uploads/

相关文档
最新文档