putty安装和使用

1 安装

  • putty是一款windows上很好用的连接远程服务器的小工具。下载地址:网址。进入网址,找到如下内容下载即可:

在这里插入图片描述

  • 也可以下载历史版本:历史版本下载

  • 也可以直接下载我上传这个安装文件:网址。下载解压后,双击.msi文件安装即可。

  • 安装过程一路默认,最后会多出四个程序,如下图:

在这里插入图片描述

  • 我们可以打开这些应用的位置,默认位置是:C:\Program Files\PuTTY,这个路径已经加入到环境变量中了,因此可以使用这个路径下的.exe作为命令,该文件夹中的内容如下:

在这里插入图片描述

  • 这里简单说明一下次文件夹中6.exe文件的作用:

    • putty.exe:远程连接服务器,最为常用;

    • puttygen.exe:生成公钥和私钥,用于免密登陆远程服务器;

    • psftp.exe:用于在本地、远程服务器之间相互传输文件;

    • pscp.exe:和psftp.exe作用一样,不过命令不同,该命令类似于linux中的scp命令;

    • plink.exe:用于在本地执行远程服务器的命令;

    • pageant.exe:用于管理秘钥。

  • 下面介绍上图框出来的五个工具的使用方式。

2 使用

2.1 putty.exe

  • 这是putty套件中最为常用的工具,打开的初始界面如下:

在这里插入图片描述

  • 这里输入远程服务器的IP地址,以及登陆的端口号(SSH默认端口号为22),点击Open后,在弹出的界面中输入账号和密码后就可以登陆。如下图:

在这里插入图片描述

  • 这里演示的登陆阿里云服务器,用户名为wxx,输入的密码会隐藏(即我们输入的密码不会显示)。

  • 如果要登陆多台服务器,我们可以保存为session,如下图,保存了两个session(分别叫做:aliyun、django):

在这里插入图片描述

  • 输入IP地址、端口、以及会话名称,最后保存即可,如下图:

在这里插入图片描述


  • 可以看到上面登陆终端后,字体很小,因此需要设置终端中字体的大小,这里很可能设置完成后,下次重启又会失效,这里介绍如何避免这个问题。

  • 我这里一共有三个session(两个自己创建的,一个默认的Default Settings),每个都需要单独设置,可以理解为每个session的配置都是独立的。

  • 这里以设置aliyun这个session为例,主要讲解如何设置终端的字体大小,步骤如下:

(1)点击aliyun,然后点击Load按钮,如下图:

在这里插入图片描述

(2)点击左侧菜单栏中的Window->Appearance,并改变其中的字体大小,如下图:

在这里插入图片描述

(3)点击左侧菜单栏中的Session,之后点击右侧的Save按钮,如下图:

在这里插入图片描述

  • 这样之后及时重启putty,对于aliyun这个session,设置都是生效的。其它的设置也是类似的步骤,只需要改变第(2)步即可。例如后面2.2节中私钥位置的配置。

  • 注意:后面的psftp、pscp、plink命令都是针对Default Settings这个session进行操作的。这个后面还会说到。

2.2 puttygen.exe

  • 我们每次登陆远程服务器都需要输入用户名和密码,特别是输入密码,十分麻烦,这个工具就是要解决这个问题的。

  • 点击puttygen.exe,默认界面如下:

在这里插入图片描述

  • 点击Generate按钮,鼠标在空白处随意移动,生成公钥和私钥,演示如下:

在这里插入图片描述

  • 这里最终生成的界面如下:

在这里插入图片描述

  • 可以看到加密算法使用的是RSA算法,关于该算法的讲解可以参考:RSA公钥加密算法。该算法会生成公钥私钥,公钥可以公开,私钥不能公开。

  • 需要将公钥上传到服务器上,私钥保存到本地即可。点击上图中的Save private key,如果弹出警告框,点击是即可,然后给保存的私钥命名保存即可。如下图是需要保存的私钥,和公钥(直接复制到txt中即可):

在这里插入图片描述

  • 我在电脑中公钥和私钥保存位置如下(私钥是点击按钮生成的,公钥是新建txt文件,然后将内容复制进去的):

在这里插入图片描述


  • 接着可以配置免密登陆,首先使用用户名和密码登陆服务器,创建.ssh文件夹,文件夹中创建authorized_keys文件,该文件用于存放之前生成的公钥(可以存放多个公钥),命令如下:
mkdir .ssh
cd .ssh
touch authorized_keys
  • 然后将之前生成的公钥复制到文件authorized_keys中。

  • 之后需要配置需要免密登陆的session,设置只有第(2)步操作不同,如下图:

在这里插入图片描述

  • 之后记得保存设置。

  • 然后登陆,可以发现,只需要输入用户名即可登陆远程服务器,如下图:

在这里插入图片描述

2.3 psftp.exe

  • 用于在本地和服务器之间传递文件,可以在cmd窗口中直接输入命令psftp,需要输入用户名、密码进行登陆。如果在putty中配置了免密登陆,则只需要输入用户名即可。

  • 注意:这里默认连接的远程服务器是puttyDefault Settings中对应的服务器。

  • 使用该命令进入的界面如下,可以通过help查看提供的命令:

在这里插入图片描述

  • 常用命令:
pwd			# 在远程服务器中显示当前所在目录
cd			# 在远程服务器上切换目录
ls			# 显示远程服务器文件夹中的文件

lpwd		# 在本地中显示当前所在目录
lcd			# 在本地切换目录
!dir		# 显示本地文件夹中的文件

put			# 上传本地文件到服务器
get			# 下载服务器文件到本地
  • 文件、文件夹的传输:

(1)将本地文件上传到服务器中(D:\psftp\local_file.txt --> /home/wxx/):

put d:\psftp\local_file.txt

(2)将远程服务器上的文件下载到本地(/home/wxx/.bashrc --> D:\psftp\

lcd d:\psftp		# 本地目录切换
get .bashrc

(3)将本地文件夹上传到服务器中(D:\psftp\local_test\ --> /home/wxx/):

put -r d:\psftp\local_test

(4)将远程服务器上的文件夹下载到本地(/home/wxx/.ssh/ --> D:\psftp\

lcd d:\psftp		# 本地目录切换
get -r .ssh

2.4 pscp.exe

  • psftp功能基本一致,用于本地和远程之间文件传输。

  • 这里使用另外一台服务器django演示,这台服务器是通过docker搭建的,搭建在aliyun服务器上,有端口映射,aliyun上的20000端口映射到了docker内部的22端口。

  • 如果没指定端口,则端口是puttyDefault Settings这个session对应的端口。

  • 文件、文件夹的传输(直接在cmd中输入下面的命令即可):

(1)将本地文件上传到服务器中(D:\psftp\local_file.txt --> /home/acs/):

pscp -P 20000 d:\psftp\local_file.txt acs@112.126.78.186:/home/acs/

(2)将远程服务器上的文件下载到本地(/home/acs/.bashrc --> D:\psftp\

pscp -P 20000 acs@112.126.78.186:/home/acs/.bashrc d:\psftp\

(3)将本地文件夹上传到服务器中(D:\psftp\local_test\ --> /home/acs/):

pscp -P 20000 -r d:\psftp\local_test acs@112.126.78.186:/home/acs/

(4)将远程服务器上的文件夹下载到本地(/home/acs/.ssh/ --> D:\psftp\

pscp -P 20000 -r acs@112.126.78.186:/home/acs/.ssh d:\psftp\

2.5 plink.exe

  • 用于在本地执行远程服务器的命令,直接在cmd中执行即可。

  • 如果没指定端口,则端口是puttyDefault Settings这个session对应的端口。

  • 在本地执行aliyun上的命令:

plink -P 22 wxx@112.126.78.186 "ls -al"
  • 在本地执行django上的命令:
plink -P 20000 acs@112.126.78.186 "ls -al"
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐