设置 PuTTY 的默认设置.docx

上传人:b****7 文档编号:10556386 上传时间:2023-02-21 格式:DOCX 页数:34 大小:451.46KB
下载 相关 举报
设置 PuTTY 的默认设置.docx_第1页
第1页 / 共34页
设置 PuTTY 的默认设置.docx_第2页
第2页 / 共34页
设置 PuTTY 的默认设置.docx_第3页
第3页 / 共34页
设置 PuTTY 的默认设置.docx_第4页
第4页 / 共34页
设置 PuTTY 的默认设置.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

设置 PuTTY 的默认设置.docx

《设置 PuTTY 的默认设置.docx》由会员分享,可在线阅读,更多相关《设置 PuTTY 的默认设置.docx(34页珍藏版)》请在冰豆网上搜索。

设置 PuTTY 的默认设置.docx

设置PuTTY的默认设置

设置PuTTY的默认设置

每次登录主机,无一例外的修改字体,修改字符集,修改窗口的大小,指定私钥文件,允许X11转发,……

几台主机还好说,几十个上百个主机这样三天两头的设置也会让唐僧烦了的。

选中一个先前配置好的会话,点Load按钮。

然后修改SavedSessions会话名称和HostName这里的主机地址,点Save

如果在SavedSessions这里和上面的HostName清空,点Save按钮,就可以把设置保存为默认设置。

备份PuTTY的设置

用PuTTY最不爽的就是,它把所有的设置都保存到注册表了,本来这不是什么问题。

但是难免会重装一下机器,用下面的命令可以备份PuTTY的所有设置

regedit/ePuTTY.config.reg"HKEY_CURRENT_USER\Software\SimonTatham\PuTTY"

删除PuTTY的设置

如果只是在其他机器上临时用了一个PuTTY,用完以后想删除PuTTY的配置,就在控制台里输入如下的命令:

putty.exe-cleanup

用PuTTYgen来生成密钥,以后可以不用密码登录服务器了

PuTTYgen是密钥生成器,用来生成一对公钥和私钥供PuTTY、PSCP、Plink、Pagent来使用。

直接运行PuTTYgen可以看到如下的界面。

点击Generate按钮就开始生成一个公钥和私钥对,生成完毕后,点下面的Saveprivatekey就可以把私钥保存起来,扩展名是.ppk的文件。

Load按钮可以把先前保存的私钥重新打开,然后做些修改,比如修改注释和私钥口令,或者把PuTTY格式的私钥转换为OpenSSH格式的。

开始用PuTTYgen创建密钥

单击Generate按钮,然后你会看到进度条上面有个提示“Pleasegeneratesomeradomnessbymovingthemouseovertheblankarea.”,意思就是让你用鼠标在空白区域随机移动。

随着鼠标在空白区域的移动,进度条会一直走下去。

停止移动鼠标,进度条也就停止了。

那我们就移动鼠标,直到进度条走满为止。

等进度条走完之后,会出现下面的界面

最上面那个大大的只读文本框里面是公钥,用来保存到OpenSSH的authorized_keys文件中,这个文件中的每一行都是一个公钥。

默认情况下,这个文件位于Linux用户主目录的.ssh/子目录中,如果文件和目录都不存在,可以直接创建。

但是创建的文件、目录和用户主目录($HOME,$HOME/.ssh,$HOME/.ssh/authorized_keys)的权限有个限制就是对除了本帐户的其他所有帐户都要求是只读的,否则的话,即使公钥、私钥都匹配无误,也是无法登入系统的。

这是SSH服务器的一个安全要求,因为如果别的帐户可以修改你的authorized_keys的话,恶意的增加一个公钥,那对方不用你的帐户口令也能以你的帐户登入系统了。

对于一些特殊要求,你可以在SSH服务器的配置文件sshd_config中用指令

StrictModesno

来取消这个限制。

在sshd_config的帮助手册中可以看到

StrictModes

Specifieswhethersshdshouldcheckfilemodesandownershipof

theuser’sfilesandhomedirectorybeforeacceptinglogin.This

isnormallydesirablebecausenovicessometimesaccidentally

leavetheirdirectoryorfilesworld-writable.Thedefaultis

“yes”.

小技巧:

每次修改authorized_keys这个文件时,你可以用如下的命令来修改,确保所有的文件属性和权限无误

mkdir-p$HOME/.ssh&&touch$HOME/.ssh/authorized_keys\

&&chmodgo-w$HOME$HOME/.ssh$HOME/.ssh/authorized_keys&&vim$HOME/.ssh/authorized_keys

还有一个要强调的是那个Keycomment,这是密钥的注释,一定要修改。

因为这个密钥是给自己用的,所以最起码要输入自己的名字,用默认的注释很容易和其他人的密钥混淆的。

如果担心自己的密码忘记了,可以在后面加上密码提示,当然了,不要让别人用注释猜出你的密钥口令。

比如,我可以把注释修改为

ChaiFeng[20061120]w.z.

后面的w.z.就是我的密码提示,能猜出来么?

呵呵

输入注释,上面的公钥也会随之发生变化。

现在最重要的是,输入自己的密钥口令。

就是Keypassphrase和Confirmpassphrase这个两个输入框。

如果不输入口令,直接保存私钥会看到这个提示。

为了安全起见还是输入口令吧,要不任何人得到这个私钥都可以不用口令登入系统了。

最后单击Saveprivatekey来保存私钥吧,保存到自己认为安全的地方,比如存放到私人的USB闪存盘上。

需要登录时,插上USB闪存盘。

登录完毕后就可以把USB闪存盘取下来,哈哈,这样子就比较安全了。

大家也注意到了,还有个Savepublickey按钮,这个是保存SSH2格式的公钥,有些SSH服务器要求用这种格式的公钥文件。

一般情况下,我们是不需要的,所以这里也就保存了。

以后还想的话,就用PuTTYgen把私钥Load出来,然后再保存也可以。

用密钥登录服务器的流程

上面杂七杂八的说了一堆创建密钥时的事情,大家会不会已经有些乱了呢?

我把这个过程再罗列一遍:

1如果没有公钥/密钥对,就用PuTTYgen创建一个,已经有了就可以忽略这一步。

一个公钥/密钥对可以用在不同的服务器上,所以也不需要重复创建,关键要有足够强健的密码和安全的存放。

2象先前一样输入帐户名和口令登录到主机上。

3输入如下命令,来编辑authorized_keys文件

mkdir-p$HOME/.ssh&&touch$HOME/.ssh/authorized_keys\

&&chmodgo-w$HOME$HOME/.ssh$HOME/.ssh/authorized_keys&&vim$HOME/.ssh/authorized_keys

4把

这个文本框里的公钥粘贴到vim中去,需要说明几点:

这个文本框里的内容是一行的,粘贴到vim中时,别忘了按字母o这个键,否则的话,粘贴进去后,开头的ssh-rsa会变成sh-rsa,为什么呢?

哈哈,想想吧。

为什么不按字母键i呢?

这个在vim中不就是插入么?

原因是我很懒,按字母o,我可以节省一次按回车键。

虽然按大写O也行,那我不是还得再按一下Shift键么?

别忘了,在PuTTY中默认的粘贴可是按鼠标右键哦,然后按一下ESC键,然后输入:

wq保存退出,等等,大家先别着急的输入:

wq,既然输入冒号还得按下Shift键,那我们就干脆直接两下大写的字母Z,也就是ZZ。

怎么样?

vim也一样保存退出了吧。

这次又节省了一次按键和两次寻找字母的移动,把懒得优良传统再一次在实践中发扬光大。

5如果已经有了私钥,第4步里的那个公钥忘记保存了,就用PuTTYgen把这个私钥Load上去,然后重新复制一下公钥吧。

6在PuTTY的配置Connection->SSH->Auth这里面,指定上私钥,然后记得保存Session,以后就不需要重复这一步了。

7最好也指定上自动登录的用户名,还记得这里吗?

8开始登录吧,这次你会看到一个不同于以往的登录提示

现在输入的口令可不是主机上这个账户的口令了,而是先前创建的这个密钥的口令。

以后不管这个账户的口令是什么,即使再复杂,也和我们没关系了。

只要这个账户的$HOME/.ssh/authorized_keys文件中,有我们的公钥,我们就随时用匹配的私钥都可以登录了。

配合后面提到的Pagent,我们连输入密钥口令这一步也可以忽略过去。

9登录成功了,别忘了按Ctrl+d注销哦。

以后这些步骤就不需要再重复了,只需要打开PuTTY后,双击一下保存的会话名称,输入密钥口令。

Pagent加载密钥,每次开机后只需要输入一次密钥口令

终于轮到Pagent出场了,双击一下Pagent.exe,嗯,没反应?

再双击一下,咦?

出来个提示,说已经运行了。

看看右下角吧,在这里呢

双击一下Pagent的图标,出来这样一个界面。

很简洁的,AddKey是添加私钥,RemoveKey是把选中的私钥从Pagent中卸载了。

好,现在单击AddKey按钮添加私钥,我把这个演示用的私钥保存到C:

\了

然后会出现输入密钥口令的对话框,输入正确的密钥后,单击OK

这时,在Pagent的窗口中就能看到我们的私钥已经装载上去了。

现在打开PuTTY,选择先前保存的Session,双击一下。

只要自动登录用户名设置上,主机上改帐户的authorized_keys文件里也有匹配的公钥。

哈哈,发现没有?

完全不需要口令,我们已经登录到系统了。

在Pagent的图标上点右键,也可以快捷的选择已经保存的会话。

建议大家把Pagent放到启动组里面,这样每次一开机,Pagent自动运行,然后我们只需要把私钥装载一下,然后我们就可以一直享受自动登录系统的乐趣了。

再配合上以后会讲到的Plink、PSCP这些,我们可以实现很多工作的自动化进行。

完全不需要每次输入用户名、口令、输入又长又多的命令,再做一些烦躁的文件备份,最后还得记得注销系统,难道不觉得麻烦么?

这一切烦恼很快就会远离我们了,继续往下看吧。

用SSH来传输文件

PuTTY提供了两个文件传输工具

∙PSCP(PuTTYSecureCopyclient)

∙PSFTP(PuTTYSFTPclient)

PSCP通过SSH连接,在两台机器之间安全的传输文件,可以用于任何SSH(包括SSHv1、SSHv2)服务器。

PSFTP则是SSH-2中新增的特性,使用的是新的SFTP协议,使用上与传统的FTP类似。

事实上PSCP如果发现SFTP可用,PSCP就会使用SFTP协议来传输文件,否则还是SCP协议。

PSFTP与PSCP相比,PSFTP的优点是可以与服务器进行交互,遍历服务器上的文件系统,在一个会话中上传或下载多个文件。

而PSCP只能一次传输一个文件,传输完毕后立刻终止会话。

PSCP的使用

在控制台直接执行pscp可以看到帮助

C:

\>pscp

PuTTYSecureCopyclient

Release0.58

Usage:

pscp[options][user@]host:

sourcetarget

pscp[options]source[source...][user@]host:

target

pscp[options]-ls[user@]host:

filespec

Options:

-Vprintversioninformationandexit

-pgpfpprintPGPkeyfingerprintsandexit

-ppreservefileattributes

-qquiet,don'tshowstatistics

-rcopydirectoriesrecursively

-vshowverbosemessages

-loadsessnameLoadsettingsfromsavedsession

-Pportconnecttospecifiedport

-luserconnectwithspecifiedusername

-pwpasswloginwithspecifiedpassword

-1-2forceuseofparticularSSHprotocolversion

-4-6forceuseofIPv4orIPv6

-Cenablecompression

-ikeyprivatekeyfileforauthentication

-batchdisableallinteractiveprompts

-unsafeallowserver-sidewildcards(DANGEROUS)

-sftpforceuseofSFTPprotocol

-scpforceuseofSCPprotocol

C:

\>

可以看出PSCP的使用是很简单的,把常用的几个选项说一下:

∙-q安静模式,传输文件时什么也不显示,否则会显示出文件的传输进度,默认是关闭的

∙-Pport指定服务器的SSH端口,注意这个是大写字母P,默认是-P22,如果主机的SSH端口就是22,就不用指定了

∙-luser指定以哪个用户的身份登录主机,如果没有指定,则PSCP会在PuTTY保存的同名Session中获得默认的用户名称。

用户名称也可以和主机名称写在一起,用@分割开,比如:

username@server

∙-pwpasswd指定登录时所用的口令为passwd

∙-ikeyfile就是指定登录时所用的密钥文件

最后面指定的主机名也可以是PuTTY中保存的Session名称。

比如我们在PuTTY中保存了一个名为foobarserver的会话,而我们所在的网络又的确没有名为foobarserver的主机名称。

而在这个foobarserver会话中保存的主机名称是demo-server,保存的自动登录的用户是taylor。

那么用命令

pscpc:

\autoexec.batfoobarserver:

backup/

∙就把本地的c:

\autoexec.bat复制到了主机demo-server上的用户taylor所在的主目录下的backup子目录中(这个路径可能是/home/taylor/backup

所以PSCP大致用法的例子就是:

pscp-P22-ic:

\path\your-private-key.ppk-Cusername@server:

/remote/path/

下面还是用一些实例来说明会比较简单一些:

把本地的C:

\path\foo.txt复制到远程主机192.168.6.200的/tmp目录下

pscpc:

\path\foo.txt192.168.6.200:

/tmp

把本地的C:

\path\foo.txt复制到主机192.168.6.200的/tmp目录下,但是以主机上的用户taylor的权限执行

pscpc:

\path\foo.txttaylor@192.168.6.200:

/tmp

或者是

pscp-ltaylorc:

\path\foo.txt192.168.6.200:

/tmp

把本地的C:

\path\foo.txt传送到主机192.168.6.200的/tmp目录下,但是主机的SSH端口是3122

pscp-P3122c:

\path\foo.txt192.168.6.200:

/tmp

把本地的C:

\path\foo.txt复制到主机192.168.6.200的用户taylor的主目录下

pscpc:

\path\foo.txttaylor@192.168.6.200:

.

把主机192.168.6.200上的用户taylor主目录下的所有*.tgz文件拷贝到本地的c:

\backup目录中,如果SSH版本是SSHv1,那这个命令就会出错。

pscptaylor@192.168.6.200:

*.tgzc:

\backup

再来看看PSFTP

在控制台执行命令psftp-h,可以得到psftp的帮助

C:

\>psftp-h

PuTTYSecureFileTransfer(SFTP)client

Release0.58

Usage:

psftp[options][user@]host

Options:

-Vprintversioninformationandexit

-pgpfpprintPGPkeyfingerprintsandexit

-bfileusespecifiedbatchfile

-bcoutputbatchfilecommands

-bedon'tstopbatchfileprocessingiferrors

-vshowverbosemessages

-loadsessnameLoadsettingsfromsavedsession

-luserconnectwithspecifiedusername

-Pportconnecttospecifiedport

-pwpasswloginwithspecifiedpassword

-1-2forceuseofparticularSSHprotocolversion

-4-6forceuseofIPv4orIPv6

-Cenablecompression

-ikeyprivatekeyfileforauthentication

-batchdisableallinteractiveprompts

C:

\>

用法与PSCP大同小异,虽然有个-load选项,其实这个没啥用,后面用主机名的时候,与PSCP一样直接用上会话名称就可以了。

用PSFTP登录到服务器上以后,操作与FTP差不多,这里简单的说一下吧:

∙open登录主机

open[username@][port]

比如:

oopentaylor@demo-server3022

就是以用户taylor的身份,登陆到主机demo-server上,SSH端口是3022

oopendemo-server

登陆demo-server,这里的demo-server可以是PuTTY中已经保存的会话名称,也可以是主机的名称,如果主机名称与会话名称相同,以会话名称为准。

∙close关闭SFTP连接

这个没啥说的,close就关闭了SFTP连接

∙quit结束本次的SFTP会话

也没啥用法,就是关闭了PSFTP这个程序

∙help[command]帮助

直接打help就可以看到帮助指令,后面指定上一个命令就可以查看该命令的帮助,比如:

helpopen

∙cd[directory]改变当前目录

∙pwd察看当前目录

∙lcd[directory]改变本地目录

∙lpwd察看本地当前目录

∙get[-r]从服务器下载一个文件/目录,这个命令不能用通配符,参数-r可以递归下载整个目录

∙put[-r][dest]把文件/目录上传到服务器,这个命令不能用通配符,参数-r可以递归上传整个目录

∙mget[-r]从服务器下载一批文件/目录,可以用通配符,-r的含义与get一样

∙mget[-r][dest]把一批文件/目录上传到服务器,可以用通配符,-r的含义与put一样

∙reget[-r]从服务器续传下载一个文件/目录,这个命令不能用通配符,-r的含义与get一样

∙reput[-r][dest]把一批文件/目录续传上传到服务器,这个命令不能用通配符,-r的含义与put一样

∙dir[directory]列目录

∙ls和dir一样

∙chmod[file|directory]改变文件的权限,与Unix的chmod命令类似

∙del删除文件,要注意的是del只能删除文件

∙rm与del一样

∙mkdir创建一个目录

∙rmdir删除一个空目录,只有空目录才可以被删除

∙mv改名/移动。

如果源和目的都是文件或目录,则是改名。

如果目的是目录的话,则是移动。

∙!

在本地命令前加一个感叹号,就可以直接执行

其他可选的SFTP客户端

FileZilla:

[url][/url]

WinSCP:

[url][/url]

用Plink更方便快捷的执行远程主机上的命令

Plink是PuTTY的命令行连接工具,主要用于自动化工作的处理。

直接在控制台执行plink,可以看到Plink的帮助

C:

\>plink

PuTTYLink:

command-lineconnectionutility

Release0.58

Usage:

plink[options][user@]host[command]

("host"canalsobeaPuTTYsavedsessionname)

Options:

-Vprintversioninformationandexit

-pgpfpprintPGPkeyfingerprintsandexit

-vshowverbosemessages

-loadsessnameLoadsettingsfromsavedsession

-ssh-telnet-rlogin-raw

forceuseofaparticularprotocol

-Pportconnecttospecifiedport

-luserconnectwithspecifiedusername

-batchdisableallinteractiveprom

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1