`
k_lb
  • 浏览: 802188 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论
  • kitleer: 据我所知,国内有款ETL调度监控工具TaskCTL,支持ket ...
    kettle调度

putty 自动登录

 
阅读更多

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

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

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



点击 Generate 按钮就开始生成一个公钥和私钥对,生成完毕后,点下面的 Save private key 就可以把私钥保存起来,扩展名是 .ppk 的文件。
Load 按钮可以把先前保存的私钥重新打开,然后做些修改,比如修改注释和私钥口令,或者把 PuTTY 格式的私钥转换为 OpenSSH 格式的。

开始用 PuTTYgen 创建密钥

单击 Generate 按钮,然后你会看到进度条上面有个提示“Please generate some radomness by moving the mouse over the blank area.”,意思就是让你用鼠标在空白区域随机移动。随着鼠标在空白区域的移动,进度条会一直走下去。停止移动鼠标,进度条也就停止了。那我们就移动鼠标,直到进度条走满为止。



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



最上面那个大大的只读文本框里面是公钥,用来保存到 OpenSSH 的 authorized_keys 文件中,这个文件中的每一行都是一个公钥。默认情况下,这个文件位于 Linux 用户主目录的 .ssh/ 子目录中,如果文件和目录都不存在,可以直接创建。
但是创建的文件、目录和用户主目录($HOME, $HOME/.ssh, $HOME/.ssh/authorized_keys)的权限有个限制就是对除了本帐户的其他所有帐户都要求是只读的,否则的话,即使公钥、私钥都匹配无误,也是无法登入系统的。这是 SSH 服务器的一个安全要求,因为如果别的帐户可以修改你的 authorized_keys 的话,恶意的增加一个公钥,那对方不用你的帐户口令也能以你的帐户登入系统了。对于一些特殊要求,你可以在 SSH 服务器的配置文件 sshd_config 中用指令

StrictModes no

来取消这个限制。在 sshd_config 的帮助手册中可以看到

StrictModes
Specifies whether sshd should check file modes and ownership of
the user’s files and home directory before accepting login. This
is normally desirable because novices sometimes accidentally
leave their directory or files world-writable. The default is
“yes”.

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

mkdir -p $HOME/.ssh && touch $HOME/.ssh/authorized_keys \
&& chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys && vim $HOME/.ssh/authorized_keys

还有一个要强调的是那个 Key comment,这是密钥的注释,一定要修改。因为这个密钥是给自己用的,所以最起码要输入自己的名字,用默认的注释很容易和其他人的密钥混淆的。如果担心自己的密码忘记了,可以在后面加上密码提示,当然了,不要让别人用注释猜出你的密钥口令。比如,我可以把注释修改为

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



输入注释,上面的公钥也会随之发生变化。
现在最重要的是,输入自己的密钥口令。就是 Key passphrase 和 Confirm passphrase 这个两个输入框。
如果不输入口令,直接保存私钥会看到这个提示。为了安全起见还是输入口令吧,要不任何人得到这个私钥都可以不用口令登入系统了。



最后单击 Save private key 来保存私钥吧,保存到自己认为安全的地方,比如存放到私人的 USB 闪存盘上。需要登录时,插上 USB 闪存盘。登录完毕后就可以把 USB 闪存盘取下来,哈哈,这样子就比较安全了。
大家也注意到了,还有个 Save public key 按钮,这个是保存 SSH2 格式的公钥,有些 SSH 服务器要求用这种格式的公钥文件。一般情况下,我们是不需要的,所以这里也就保存了。以后还想的话,就用 PuTTYgen 把私钥 Load 出来,然后再保存也可以。

用密钥登录服务器的流程

上面杂七杂八的说了一堆创建密钥时的事情,大家会不会已经有些乱了呢?我把这个过程再罗列一遍:

  1. 如果没有公钥/密钥对,就用 PuTTYgen 创建一个,已经有了就可以忽略这一步。一个公钥/密钥对可以用在不同的服务器上,所以也不需要重复创建,关键要有足够强健的密码和安全的存放。
  2. 象先前一样输入帐户名和口令登录到主机上。
  3. 输入如下命令,来编辑 authorized_keys 文件
    mkdir -p $HOME/.ssh && touch $HOME/.ssh/authorized_keys \
    && chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys && vim $HOME/.ssh/authorized_keys



这个文本框里的公钥粘贴到 vim 中去,需要说明几点:这个文本框里的内容是一行的,粘贴到 vim 中时,别忘了按字母 o 这个键,否则的话,粘贴进去后,开头的 ssh-rsa 会变成 sh-rsa,为什么呢?哈哈,想想吧。
为什么不按字母键 i 呢?这个在 vim 中不就是插入么?原因是我很懒,按字母 o,我可以节省一次按回车键。虽然按大写 O 也行,那我不是还得再按一下 Shift 键么?
别忘了,在 PuTTY 中默认的粘贴可是按鼠标右键哦,然后按一下 ESC 键,然后输入 :wq 保存退出,等等,大家先别着急的输入 :wq,既然输入冒号还得按下 Shift 键,那我们就干脆直接两下大写的字母 Z,也就是 ZZ。怎么样?vim 也一样保存退出了吧。这次又节省了一次按键和两次寻找字母的移动,把懒得优良传统再一次在实践中发扬光大。



  1. 如果已经有了私钥,第4步里的那个公钥忘记保存了,就用 PuTTYgen 把这个私钥 Load 上去,然后重新复制一下公钥吧。
  2. 在 PuTTY 的配置 Connection->SSH->Auth 这里面,指定上私钥,然后记得保存 Session,以后就不需要重复这一步了。


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



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


  1. 现在输入的口令可不是主机上这个账户的口令了,而是先前创建的这个密钥的口令。以后不管这个账户的口令是什么,即使再复杂,也和我们没关系了。只要这个账户的 $HOME/.ssh/authorized_keys 文件中,有我们的公钥,我们就随时用匹配的私钥都可以登录了。配合后面提到的 Pagent,我们连输入密钥口令这一步也可以忽略过去。
  2. 登录成功了,别忘了按 Ctrl+d 注销哦。


server refused our key问题的解决

直接上方法:禁用系统的selinux功能,命令#setenforce0,但重启系统,selinux仍然启用。根治方法:更改SElinux的配置文件/etc/selinux/config,修改SELINUX=disabled。


分享到:
评论

相关推荐

    bat+自定义协议+本地打开putty自动登录

    原理:通过自定义协议,在网页中自动打开putty完成ssh登录 文件包含: regist-putty.reg : 向注册表注册putty协议(可更换) putty.bat: putty协议对应的处理脚本 test.html: 测试页面 风险提醒:本地调用putty可...

    putty 6.0 自动登录

    基于putty6.0 功能修改: 1、增加保存用户名密码到本地 2、增加自动登录

    让 Putty 保存密码,自动登陆的三种方法.txt

    让 Putty 保存密码,自动登陆的三种方法

    中文版 putty 保存密码,自动登录 ,配置保存在文件

    基于putty0.62 功能修改: 1、中文版 2、保存密码,自动登录 3、配置保存在文件中 注意:密码明文保存

    Putty支持快捷键重连和自动重连

    中文版Putty,并且增加了快捷键用于在连接断开时重新连接,这比每次从系统菜单选择重新连接方便的多。 另外还增加了自动重连功能。从系统菜单勾选自动重连后,当异常断开时都会自动建立连接。 源代码:...

    Putty实现自动登陆远程Linux主机的方法

    虽然 Putty 也提供了 puttygen.exe 生成公/密钥,但是和 Linux 主机生成的 KEY 格式不同,需要手工修改格式,所以采用 Linux 主机自己生成 KEY 的方式。 首先登陆到 Linux 主机,具体过程如下: 1. 生成公钥和密钥 ...

    putty自动验证登录.pdf

    putty自动验证登录.pdf

    putty自动验证登录收集.pdf

    putty自动验证登录收集.pdf

    PuTTY Connection Manager puttycm

    PuTTY Connection Manager 是一款非常棒的 PuTTY 增强工具。它使用 PuTTY 作为内核,保持 PuTTY 强大功能的同时,又增加了很多实用的功能。 通过它,可以实现 PuTTY 自动登录、多标签、多级会话目录树存储等功能。

    PuTTY Connection Manager ( puttyCM )

    PuTTY Connection Manager 是一款非常棒的 PuTTY 增强工具。它使用 PuTTY 作为内核,保持 PuTTY ... 通过它,可以实现 PuTTY 自动登录、多标签、多级会话目录树存储等功能。 使用说明见http://www.putty.ws/putty-cm

    putty实现自动登录的方法(ssh和ssh2)

    主要介绍putty实现自动登录的方法,需要的朋友可以参考下

    putty支持保存用户名和密码

    支持保存用户和密码的版本,这些信息是保存在文件中的。 在左侧connect-data目录里面,有用户名和密码文本框,输入后,点击session 保存就可以了

    Putty使用教程

    自动登录用户名 自动设置环境变量 设置代理服务器 自动执行命令 备份、删除 PuTTY 的设置 PuTTY 的 X11 转发 如何用 PuTTY 建立 SSH 隧道 如何用 PuTTY 建立反向的 SSH 隧道,像个特洛伊木马一样突破防火墙 把 PuTTY...

    putty从windows传文件到linux服务器

    1putty 使用pscp从windows传文件到linux服务器 pscp C:\bud root@ip/usr/tomcat/webapps/myWeb/view 2putty 使用pscp从windows传文件到linux服务器 pscp C:\bud root@ip/usr/tomcat/webapps/myWeb/view 3putty 使用...

    使用public/private key让putty(ssh)自动登录

    NULL 博文链接:https://keshion.iteye.com/blog/1037802

    PuTTY 0.70 中文版

    PuTTY是一套免费的SSH/Telnet程序,它可以连接上支持SSH Telnet联机的站台,并且可自动取得对方的系统指纹码(Fingerprint)。建立联机以后,所有的通讯内容都是以加密的方式传输,因此你再也不用害怕使用Telnet在...

    Putty使用技巧(中文教程)

    2. 自动登录用户 3. 自动设置环境变量 4. 设置代理服务器 5. 自动执行一个命令 6. 数据自动压缩传输,变相的提高传输速率 7. 无需口令登录 8. X11 转发能够让你在 Windows 上使用 Linux 的程序 9. 用 SSH ...

    用PUTTY自动将服务器上的备份文件取到本地

    NULL 博文链接:https://zhangjiaweixt.iteye.com/blog/859830

Global site tag (gtag.js) - Google Analytics