一、概述

PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上。除了官方版本外,有许多第三方的团体或个人将PuTTY移植到其他平台上,像是以Symbian为基础的移动电话。PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT licence授权。随着Linux在服务器端应用的普及,Linux系统管理越来越依赖于远程。在各种远程登录工具中,Putty是出色的工具之一。Putty是一个免费的、Windows x86平台下的Telnet、SSH和rlogin客户端,但是功能丝毫不逊色于商业的Telnet类工具。
官网
https://www.putty.org/

三、安装

1、直接双击安装文件,按提示逐步安装即可。
2、安装成功后会将安装目录加入到环境变量PATH中,方便通过命令行的方式进行远程链接等操作。

安装目录下文件列表

putty安装镜像命令 putty如何安装_文件上传下载


其中plink可以直接远程链接linux或远程执行脚本

pscp用于远程文件传输

psftp用于远程sftp协议的文件传输

puttygen用于生成密钥对或密钥的转换

putty.chm是非常有用的离线帮助文档

三、免密连接远程linux

1、生成密钥对
useradd jenkins
passwd jenkins
ssh-keygen -t rsa
cd ~/.ssh
cat id_rsa.pub authorized_keys

将id_rsa文件拷贝回来本地,可以保存成txt格式,供第二步使用

2、生成ppk格式私钥

由于putty只识别ppk格式的私钥文件,需要将在linux上生成的私钥进行转换。

使用puttygen工具生成。

①File → Load private key,找到私钥文件。

putty默认只能选择ppk格式的文件,选择为All Files即可选择其他格式的私钥文件。

putty安装镜像命令 putty如何安装_文件上传下载_02

②保存ppk私钥文件

点击Save private key,保存为ppk格式的文件

putty安装镜像命令 putty如何安装_文件上传下载_03

3、使用私钥登录远程linux

①打开putty,在Host或IP中输入用于登录的用户名和需要访问的目标服务器IP或名称。

putty安装镜像命令 putty如何安装_远程执行命令_04


②选择私钥文件

Connection → SSH → Auth

putty安装镜像命令 putty如何安装_putty_05


③点击Session → Open远程到目标机器,首次连接会有一个确认的提示框,点击确认即可 。

④如果不想每次都需要重复以上步骤,可以在Session → Save Sessions中输入一个名称,然后点击Save即可。下次可以直接点击Session列表中的名称就可以远程过去了。

四、putty命令

1、使用putty命令行免密登录远程linux
putty -load "jenkins_server" -ssh

其中jenkins_server为putty保存的会话名称

2、使用putty命令行密码登录远程linux
putty.exe [-ssh | -telnet | -rlogin | -raw] [user@]host
Example: putty -ssh -l  user- pw  password -P 2222  -m  exe.txt  127.0.0.1
3、登录后执行脚本(脚本存放在本地)
putty -load "jenkins_server" -ssh -m test.txt

4、使用用户名密码登录

putty -load “qa server” -ssh -l {username} -pw {password}

五、pscp命令

1、上传文件到远程目录
pscp get-pip.py ubuntu@192.168.1.236:/home/ubuntu
2、查看远程目录
pscp -load "jenkins_server" -ls ec2-user@ec2-52-83-149-95.cn-northwest-1.compute.amazonaws.com.cn:/home/ec2-user/maven

load参数需要放在pscp命令后面,且必须指明用户名和服务器名称

3、从本地传输文件到linux
pscp -load "jenkins_server" README.txt ec2-user@ec2-52-83-149-95.cn-northwest-1.compute.amazonaws.com.cn:/home/ec2-user
4、从远程linux传输文件到本地
pscp -load "jenkins_server" ec2-user@ec2-52-83-149-95.cn-northwest-1.compute.amazonaws.com.cn:/home/ec2-user/maven35-agent.jar C:/Users/Neo/Desktop
5、从远程linux传输文件夹到本地
pscp -load "jenkins_server" -r ec2-user@ec2-52-83-149-95.cn-northwest-1.compute.amazonaws.com.cn:/home/ec2-user/maven C:/Users/Neo/Desktop/maven
6、从本地传输多个文件到linux
pscp -load "jenkins_server" README.txt putty.chm ec2-user@ec2-52-83-149-95.cn-northwest-1.compute.amazonaws.com.cn:/home/ec2-user
7、使用私钥登录传送文件(适用于jenkins windows节点)
pscp.exe -i privatekey.ppk -batch E:\SVCePOP\putty\HCTDS.csv servername@server IP:/data/ftproot

pscp -i C:\Users\Administrator\Desktop\jenkins_linux_node1.ppk -batch C:\jenkins\workspace\jenkins_windows_linux\target\jenkins_test-1.0-SNAPSHOT.war ec2-user@ec2-52-83-189-59.cn-northwest-1.compute.amazonaws.com.cn:/home/ec2-user

pscp.exe -load "linux_node1" -batch C:\jenkins\workspace\jenkins_windows_linux\target\jenkins_test-1.0-SNAPSHOT.war ec2-user@ec2-52-83-189-59.cn-northwest-1.compute.amazonaws.com.cn:/home/ec2-user

六、plink命令

1、连接远程linux
plink jenkins_server

Jenkins_server为session保存的名称

2、远程执行脚本
plink jenkins_server /home/ec2-user/test.sh