扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
OpenSSH 是 SSH ( S ecure S H ell) 协议的免费开源实现。它用安全、加密的网络连接工具代替了 telnet、 ftp、 rlogin 、 rsh 和 rcp 工具。OpenSSH 支持 SSH 协议的版本 1.3、1.5、和 2。自从 OpenSSH 的版本 2.9 以来,默认的协议是版本 2,该协议默认使用 RSA 钥匙。
15.1. 为什么使用 SSH?
使用 OpenSSH 工具将会增进你的系统安全性。 所有使用 OpenSSH 工具的通讯,包括口令,都会被加密。 telnet 和 ftp 使用纯文本口令,并被明文发送。这些信息可能会被截取,口令可能会被检索,然后未经授权的人员可能会使用截取的口令登录进你的系统而对你的系统造成危害。你应该尽可能地使用 OpenSSH 的工具集合来避免这些安全问题。
另一个使用 OpenSSH 的原因是,它自动把 DISPLAY 变量转发给客户机器。换一句话说,如果你在本地机器上运行 X 窗口系统,并且使用 ssh 命令登录到了远程机器上,当你在远程机器上执行一个需要 X 的程序时,它会显示在你的本地机器上。如果你偏爱图形化系统管理工具,却不能够总是亲身访问该服务器,这就会为你的工作大开方便之门。
15.2. 配置OpenSSH 服务器
要运行 OpenSSH 服务器,你必须首先确定你安装了正确的 RPM 软件包。 openssh-server 软件包是必不可少的,并且它依赖于 openssh 软件包的安装与否。
OpenSSH 守护进程使用 /etc/ssh/sshd_config 配置文件。Red Hat Linux9 安装的默认配置文件在多数情况下应该足以胜任。如果你想使用没有被默认的 sshd_config 文件提供的方式来配置守护进程,请阅读 sshd 的说明书(man)页来获取能够在配置文件中定义的关键字列表。
要启动 OpenSSH 服务,使用 /sbin/service sshd start 命令。要停止 OpenSSH 服务器,使用 /sbin/service sshd stop 命令。如果你想让守护进程在引导时自动启动,请参阅 第14章 来获取关于如何管理服务的信息。
如果你重新安装了 Red Hat Linux 系统,任何在它被重装前使用 OpenSSH 工具连接到这个系统上的客户在它被重装后将会看到下列消息:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 99v 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* 文件,然后在系统重装后恢复它。该过程会保留系统的身份。当客户机在该系统重装后试图连接它,它们就不会看到以上的警告信息。
15.3. 配置 OpenSSH 客户
要从客户机连接到 OpenSSH 服务器上,你必须在客户机器上装有 openssh-clients 和 openssh 软件包。
15.3.1. 使用 ssh 命令
ssh 命令是 rlogin 、 rsh 和 telnet 命令的安全替换。它允许你在远程机器上登录并在其上执行命令。
使用 ssh 来登录到远程机器和使用 telnet 相似。要登录到一个叫做 penguin.example.net 的远程机器,在 shell 提示下键入下面的命令:
ssh penguin.example.net
第一次使用 ssh 在远程机器上登录时,你会看到和下面相仿的消息:
The authenticity of host 'penguin.example.net' can't 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 'penguin.example.net' (RSA) to the list of known hosts.
下一步,你会看到向你询问远程主机口令的提示。在输入口令后,你就会在远程主机的 shell 提示下了。如果你没有指定用户名,你在本地客户机器上登录用的用户名就会被传递给远程机器。如果你想指定不同的用户名,使用下面的命令:
ssh username @penguin.example.net
你还可以使用 ssh -l username penguin.example.net 。
ssh 命令可以用来在远程机器上不经 shell 提示登录而执行命令。它的语法格式是: ssh hostname command 。譬如,如果你想在远程主机 penguin.example.net 上执行 ls /usr/share/doc 命令,在 shell 提示下键入下面的命令:
ssh penguin.example.net ls /usr/share/doc
在你输入了正确的口令之后, /usr/share/doc 这个远程目录中的内容就会被显示,然后你就会被返回到你的本地 shell 提示下。
15.3.2. 使用 scp 命令
scp 命令可以用来通过安全、加密的连接在机器间传输文件。它与 rcp 相似。
把本地文件传输给远程系统的一般语法是:
scp localfile username@tohostname:/newfilename
localfile 指定源文件, username@tohostname:/newfilename 指定目标文件。
要把本地文件 shadowman 传送到你在 penguin.example.net 上的账号内,在 shell 提示下键入(把 username 替换成你的用户名):
scp shadowman username @penguin.example.net:/home/ username
这会把本地文件 shadowman 传输给 penguin.example.net 上的 /home/ username /shadowman 文件。
把远程文件传输给本地系统的一般语法是:
scp username@tohostname:/remotefile /newlocalfile
remotefile 指定源文件, newlocalfile 指定目标文件。
源文件可以由多个文件组成。譬如,要把目录 /downloads 的内容传输到远程机器 penguin.example.net 上现存的 uploads 目录,在 shell 提示下键入下列命令:
scp /downloads/* username @penguin.example.net:/uploads/
15.3.3. 使用 sftp 命令
sftp 工具可以用来打开一次安全互动的 FTP 会话。它与 ftp 相似, 只不过,它使用安全、加密的连接。它的一般语法是: sftp username@hostname.com 。一旦通过 验证,你可以使用一组和使用 FTP 相似的命令。请参阅 sftp 的说明书页(man)来获取这些 命令的列表。要阅读说明书页,在 shell 提示下执行 man sftp 命令。 sftp 工具只在 OpenSSH 版本 2.5.0p1 以上才有。
15.3.4. 生成钥匙对
如果你不想每次使用 ssh 、 scp 或 sftp 时都要输入口令来连接远程机器,你可以生成一对授权钥匙。
钥匙必须为每个用户生成。要为某用户生成钥匙,用想连接到远程机器的用户身份来遵循下面的步骤。如果你用根用户的身份完成了下列步骤,就只有根用户才能使用这对钥匙。
从 OpenSSH 版本 3.0 开始, ~/.ssh/authorized_keys2 、 ~/.ssh/known_hosts2 和 /etc/ssh_known_hosts2 就会过时。SSH 协议 1 和 2 共享 ~/.ssh/authorized_keys 、 ~/.ssh/known_hosts 和 /etc/ssh/ssh_known_hosts 文件。
Red Hat Linux 9 默认使用 SSH 协议 2 和 RSA 钥匙。
窍门:如果你重装了 Red Hat Linux,但是想保留现有的钥匙对,备份你的主目录中的 .ssh 目录。重装后,把该目录复制回主目录。该进程可为系统上的所有用户进行,包括根用户。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者