如何从安装了Windows的工作电脑连远程接到Linux服务器?其实有很多软件,比如 PuTTY、XShell、CRT、MobaXterm等等。不过还是 PuTTY最简单易用、无需安装、并且开源免费。PuTTY其实是一个软件套装,里边除了最常用的putty之外,还包含了像 pscp、psftp等可以用于文件传输的工具。今天结合大家平常学习工作中最常用到的场景,对这些工具的使用做一个介绍和演示。
1 PuTTY的下载与安装
PuTTY的官方网站地址是:
https://www.chiark.greenend.org.uk/~sgtatham/putty/
当前最新的版本是0.73。点击 "Download it here" 进入下载页面。可以选择下载一个.msi的Windows安装文件,也可以选择直接下载绿色软件,无需安装。
安装包:
绿色版本:
大家想安装中文版本的也可以去百度一下。
2 putty的使用
putty可以远程连接到Linux服务器,并且给开启一个shell让你和服务器进行交互。点击打开下面putty.exe的文件。
打开后可以看到下面的界面。有几点要注意一下:
1) 输入Linux服务器的主机名或者 ip 地址
2) 输入端口号(默认是22),这要取决于服务器 sshd服务所使用的端口
3) 连接类型选择 SSH
4) 点击 Open
在弹出的对话框里按步骤分别输入用户名和密码,连接成功后就可以看到欢迎的界面,一般默认的 shell 是bash。
这里就可以输入Linux命令在服务器上面进行工作了。
另外还有两个小技巧也介绍一下:
1) 常用的连接,比如 ip地址、端口号、连接方式等,都可以作为一个session保存下来。输入session 名字,点击 save 保存。
2) 将连接以及和服务器交互的过程作为日志记录下来。点击左侧导航栏 Logging,选择 All session output,输入一个日志文件的名字及保存路径。这样以后我们什么时候连接过服务器,都输入了哪些命令,以及服务器返回的结果就都会记录在日志文件当中了。
3 pscp的使用
PSCP:是Putty的文件传输工具,用于两台电脑之间的文件传输,一次只能传输一个文件,传输完毕后立刻终止会话。PSCP 通过 SSH 连接,在两台机器之间安全的传输文件,可以用于任何 SSH(包括 SSH v1、SSH v2) 服务器。
打开 Windows 命令行,进入 pscp.exe 的文件夹(比如我放在了 D:\Software\putty\),输入 pscp 回车,可以看到该工具的帮助信息,比如几个常用的选项:
-
-q 安静模式,传输文件时什么也不显示,否则会显示出文件的传输进度,默认是关闭的
-
-P port 指定服务器的 SSH 端口,注意这个是大写字母 P,默认是 -P 22,如果主机的 SSH 端口就是 22,就不用指定了
-
-l user 指定以哪个用户的身份登录主机,如果没有指定,则 PSCP 会在 PuTTY 保存的同名 Session 中获得默认的用户名称。用户名称也可以和主机名称写在一起,用 @ 分割开,比如:username@server
-
-pw passwd 指定登录时所用的口令为 passwd
一、文件从本地上传到服务器
下面举个例子,比如我想把 windows 电脑中的一个文件 d:\temp\test.txt 拷贝到 Linux 服务器中 /tmp/jf/ 目录下面,应该怎么做。
上面的命令按照以下格式来输入:
pscp [源文件] [Linux用户名]@[Linux服务器ip地址]:[Linux服务器目标目录]
然后可以得到提示,输入用户密码
输入密码后,文件就开始上传。完成后得到上传 100%的提示
用 putty登录到服务器做一个检查,可以看到test.txt文件已经上传到指定的目录了。
二、将文件从服务器下载到本地
反过来,比如我们想把服务器上 /tmp/jf 目录下的 hello.txt 文件下载到本地 d:\temp文件夹中,用 pscp该怎么操作呢?在 Windows命令行可以按照下面的格式来输入:
pscp [Linux用户名]@[Linux服务器ip地址]:[Linux服务器源文件] [本地目标文件夹]
按提示输入用户密码后,开始下载文件,然后得到 100% 完成的提示。
4 psftp的使用
PSFTP:是Putty的SFTP客户端,可以通过SFTP协议在两台电脑之间的传输文件。它和 PSCP相比的优点在于可以与服务器进行交互,遍历服务器上的文件系统,在一个会话中上传或下载多个文件。而 PSCP 只能一次传输一个文件,传输完毕后立刻终止会话。
首先还是打开 Windows 命令行,进入 psftp.exe 的文件夹(比如我放在了 D:\Software\putty\),输入 psftp 回车,可以看到提示,输入主机名,我们这里按照以下格式输入:
open [Linux服务器 ip 地址]
接着按提示输入用户名和密码,看到成功连接的提示。
一、文件从本地上传到服务器
同样的例子,比如想把 windows 电脑中的 d:\temp\windows.txt 拷贝到 Linux 服务器中 /tmp/jf/ 目录下。
首先可以通过 lcd 来切换Windows的路径
lcd d:\temp
然后通过 cd 切换服务器的路径
cd /tmp/jf
注意,这两个路径的切换是双线、互不干扰的。
然后上传只需要输入 put [文件名] 就可以了。
put windows.txt
通过 putty 连接到服务器检查,发现文件已经上传到指定目录中。
二、将文件从服务器下载到本地
同样,比如想把服务器中/tmp/jf/ 目录下的 linux.txt 文件下载到本地电脑中的 d:\temp\ 文件夹中。
这里只需要用 get 命令就可以了。
get linux.txt
5 结尾
Putty的优点主要就是免费、短小精悍、拿来就能用,不用做非常多复杂的配置,而且还提供了一套很完整的工具供我们使用。因为 putty本身还是开源的,所以感兴趣的同学还可以对源代码进行修改,定制出自己的putty版本。