另外,pscp、psftp 和 scp、sftp 有什么区别?
我猜 PuTTY 最初是为 Windows 制作的,默认情况下没有这些命令,对吗?
如果是这样的话,为什么有人会在 Linux 上使用 PuTTY?
答案1
PuTTY 是一个终端仿真器(能够运行 shell,进而运行命令),而通常的 SSH 应用程序是 shell(不是终端仿真器)。 PuTTY 已被移植到 Unix(和类 Unix)系统pterm
(ADebian 软件包自 2002 年起)。
scp
是一种特殊情况:用于通过连接复制一些文件的程序ssh
。 Windows 上的 PuTTY 有类似的程序,但在 Unix 端口中不需要该程序。
sftp
(和psftp
...)类似于ftp
:用于复制许多文件的专用程序。
它们的用处取决于您需要做什么:有些使用scp
频率远高于sftp
,反之亦然。
答案2
- SSH是计算机之间加密连接的协议。它非常灵活,因为它允许一个连接中有多个流(例如终端会话、文件传输和 TCP 端口转发)。
- SCP是一种通过 SSH 连接进行文件传输的简单协议。
- SFTP是一种通过 SSH 连接传输文件、列出目录等的协议。
- 油灰是一个 GUI终端仿真器适用于具有用于远程终端会话的内置 SSH 客户端的 Windows。
ssh
是一个命令行 SSH 客户端。有一个用于 Windows 的端口,名为适用于 Windows 的 OpenSSH。scp
是一个通过 SCP 复制文件的专用程序。pscp
是具有相同目的的 PuTTY 套件的移植。sftp
是一个交互式命令行程序,用于通过 SFTP 管理文件。它允许与命令行工具类似地复制、删除和列出文件ftp
。psftp
又是出于相同目的的 PuTTY 套件的移植。
PuTTY 结合了多种功能(可定制的终端仿真、远程连接、串行端口访问等),这些功能通常在 Linux/Unix 上是分开的,因为 Windows 默认情况下仅包含有限的“终端仿真器”,即命令提示符窗口。正如您所怀疑的,另一个原因是 Windows 默认情况下没有ssh
。
Linux 上有多个可以与 很好配合的终端模拟器ssh
,因此 Linux 上并不真正需要 PuTTY。在 Linux 上使用 PuTTY 的主要原因是它的会话管理、帮助与有错误和/或异常终端设置(字符集、键绑定等)的机器进行通信的自定义功能以及访问串行端口的功能。
答案3
简单来说
putty - A software used to connect servers with protocol's like ssh ftp
。
ssh - A protocol used to connect the server through port 22.