12.3. OpenSSH 客户端
要从客户端机器连接到 OpenSSH 服务器,您必须安装 openssh-clients 软件包(有关如何在 Red Hat Enterprise Linux 中安装新软件包的更多信息,请参阅 第 9.2.4 节 “安装软件包” )。
12.3.1. 使用 ssh 实用程序
ssh
实用程序允许您登录远程计算机并在其中执行命令。它是 rlogin
、rsh
和 telnet
程序的安全替代品。
与 telnet
命令类似,使用以下命令登录到远程机器:
ssh
hostname
例如,要登录到名为 penguin .example.com
的远程机器,在 shell 提示符后输入以下内容:
~]$ ssh penguin.example.com
这将使用与本地计算机上使用的相同用户名登录。如果要指定不同的用户名,请使用以下格式的命令:
ssh
username@hostname
例如,要以 USER
身份登录 penguin.example.com
,请输入:
~]$ ssh USER@penguin.example.com
第一次启动连接时,您将会看到类似如下的消息:
The authenticity of host 'penguin.example.com' can't be established. ECDSA key fingerprint is SHA256:vuGKK9dsW34zrZzwjl5g+vOE6EZQvHRQ8zObKYO2mW4. ECDSA key fingerprint is MD5:7e:15:c3:03:4d:e1:dd:ee:99:dc:3e:f4:b9:67:6b:62. Are you sure you want to continue connecting (yes/no)?
用户在回答此对话框中的问题之前,应始终检查指纹是否正确。用户可以要求服务器管理员确认密钥正确。这应该以安全的方式完成,并且先前已达成一致。如果用户可以访问服务器的主机密钥,可以使用 ssh-keygen
命令检查指纹,如下所示:
~]# ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub SHA256:vuGKK9dsW34zrZzwjl5g+vOE6EZQvHRQ8zObKYO2mW4
要获得 MD5 密钥指纹(这是之前版本中的默认指纹),请使用带有 -E md5
选项的 ssh-keygen
命令,例如:
~]# ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub -EM md5 MD5:7e:15:c3:03:4d:e1:dd:ee:99:dc:3e:f4:b9:67:6b:62
键入 yes
以接受密钥并确认连接。您将看到一个通知,显示该服务器已添加到已知主机列表中,并看到一个提示您输入密码:
Warning: Permanently added 'penguin.example.com' (ECDSA) to the list of known hosts. \USER@penguin.example.com's password:
如果 SSH 服务器的主机密钥发生更改,客户端会通知用户连接无法进行,直到从 ~/.ssh/known_hosts
文件中删除服务器的主机密钥为止。但是,在进行此操作前,请先联系 SSH 服务器的系统管理员来验证服务器是否未被破坏。
要从 ~/.ssh/known_hosts
文件中删除密钥,请使用以下命令:
~]# ssh-keygen -R penguin.example.com
# Host penguin.example.com found: line 15 type ECDSA
/home/USER/.ssh/known_hosts updated.
Original contents retained as /home/USER/.ssh/known_hosts.old
输入密码后,系统将为您提供用于远程计算机的 shell 提示符。
另外,ssh 程序
可用于在远程机器上执行命令,而无需登录到 shell 提示符:
ssh
username@hostname command
例如,/etc/redhat-release
文件提供有关 Red Hat Enterprise Linux 版本的信息。要在 penguin. example.com
中查看此文件的内容,请输入:
~]$ ssh USER@penguin.example.com cat /etc/redhat-release
USER@penguin.example.com's password:
Red Hat Enterprise Linux Server release 7.0 (Maipo)
输入正确的密码后,将显示用户名,您将返回到本地 shell 提示符。
12.3.2. 使用 scp
实用程序
SCP 可用于通过
安全、加密的连接在计算机之间传输文件。在设计中,它与 rcp
非常相似。
要将本地文件传输到远程系统,请使用以下格式的命令:
scp localfile username@hostname:remotefile
例如,如果要将 taglist.vim
传送到名为 penguin .example.com
的远程机器,在 shell 提示符后输入以下内容:
~]$ scp taglist.vim USER@penguin.example.com:.vim/plugin/taglist.vim
USER@penguin.example.com's password:
taglist.vim 100% 144KB 144.5KB/s 00:00
可以同时指定多个文件.要将 .vim/plugin/
的内容传输到远程机器 penguin .example.com
上的同一目录中,请输入以下命令:
~]$ scp .vim/plugin/* \USER@penguin.example.com:.vim/plugin/ \USER@penguin.example.com's password: closetag.vim 100% 13KB 12.6KB/s 00:00 snippetsEmu.vim 100% 33KB 33.1KB/s 00:00 taglist.vim 100% 144KB 144.5KB/s 00:00
要将远程文件传输到本地系统,请使用以下语法:
scp username@hostname:remotefile localfile
例如,要从远程机器下载 .vimrc
配置文件,请输入:
~]$ scp USER@penguin.example.com:.vimrc .vimrc
USER@penguin.example.com's password:
.vimrc 100% 2233 2.2KB/s 00:00
12.3.3. 使用 sftp
实用程序
sftp
实用程序可用于打开安全、交互式 FTP 会话。在其设计中,它类似于 ftp
,除了使用安全加密的连接。
要连接到远程系统,请使用以下格式的命令:
sftp username@hostname
例如,使用用户名 USER
登录名为 penguin .example.com
的远程机器,请输入:
~]$ sftp USER@penguin.example.com
USER@penguin.example.com's password:
Connected to penguin.example.com.
sftp>
输入正确的密码后,您将会看到一个提示。sftp
实用程序接受一组与 ftp
所用命令类似的命令(请参阅 表 12.3 “系列可用的 sftp 命令”)。
命令 | 描述 |
---|---|
| 列出远程目录的内容.如果没有提供,则默认使用当前工作目录。 |
| 将远程工作目录更改为 目录。 |
| 创建远程目录. |
| 删除远程目录. |
| 将 localfile 传输到远程计算机。 |
| 从远程计算机传输 remotefile. |
有关可用命令的完整列表,请查看 sftp
(1)手册页。