导语

ssh(secure shell)是应用层上的安全协议,为远程登录会话等网络服务提供安全性的。ssh服务的服务端结合了openssl和openssh的功能,传输和加密功能,linux客户端可以直接使用ssh命令,可以说十分方便,对windows,也可以下载openssh for windows在powershell或者cmd中使用,但是毕竟只是一个单纯的openssh client,何况标题都叫putty了所以这里介绍windows下的ssh连接客户端putty

putty介绍

PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上。看到他的官网有个.org就知道他是非盈利免费的,官网也有源代码开放,在windows各个平台下的兼容性很好,支持ssh1和ssh2,体积小,控制面板功能强大,属实是居家旅行必备好物。

下载

putty
根据自己的系统选msi,他会给你装以下内容

主要说putty,因为其他的我也没用过。

服务器配置

这里你得用一下puttygen.exe,他是用来创建密钥的。

可以看到generate和load两个按钮,分别用来generate一个新的key,或者load一个私钥把它转化成putty格式的私钥。下面的参数选项确定了你要生成的key的格式和长度,在你点了生成以后他会根据你的鼠标在空白处的瞎晃悠生成随机序列,然后请你输入密码或者不输,不输其实也可以,但输一下还是稳点,不过你有可能自己忘掉(别问我怎么知道的)。

然后你就个以吧公钥和私钥都保存下来了。
然后随便找个服务器平台整一台服务器,然后在控制面板里添加ssh public key。

客户端

打开putty连接你的服务器吧

  1. session(会话)标签下设置你的服务器ip和端口
  2. terminal(终端) 标签下设置你的终端的各种选项
  3. window(窗口) 标签下设置你的putty窗口
  4. connection(连接) 标签下设置连接

    这里的keepalive是一个ssh的机制,就是每隔多久向服务器发一个空数据,让服务器知道你还在,而不会因为一段时间没收到数据就断开连接,0就是不搞这个机制。
    在服务器下/etc/ssh/sshd_config中找到ClientAliveInterval参数,他表示如果客户端没有响应,多久之后向客户端发一个包问是否还在连接,在达到了ClientAliveCountMax次没有回应后就断掉连接。
    (还有一个小技巧,这种config文件里加了注释符的参数值就是default值,看到有一个教程说还要把TCPKeepAlive yes前面的#去掉。。。)
    在proxy可以设置一下自己的代理,比如你用了ssr并且租了一个国外服务器,直连的话其实有可能敲字延迟,就可以设置代理localhost 1080 socket5
    ssh子标签里的auth设置连接用的私钥文件的位置

连!

vans