最近刚搞完SSH框架,又来研究研究SSH远程连接。为什么这么要弄这个呢?因为现在我现在开发主要在自己的笔记本(windows)上,然后写的后端都要部署到实验室的台式机(windows)上,这样一来,我一改点东西的话,还得去实验室,在台式机上操作把项目pull下来然后再部署到Tomcat上(仅仅是一个课程项目而已,不要见笑哈~),于是乎,为什么我不能远程操作我的台式机呢?
好,于是开始网上查找,发现ssh远程连接,但是大部分的教程都是linux的,windows的基本可以参考的很少,毕竟linux更趋向与share而Windows基本是personal。但是我又不想把我的台式机装成linux,毕竟已经装了不少的软件,而且我们的oracle数据库还在这台电脑上呢。于是乎,试试找找有没有什么方法吧~查找了一番,还真的发现一篇博客(http://www.cnblogs.com/xred/archive/2012/04/21/2461627.html)讲的就是这个,这个博主的服务端用的是freeSSHd这个软件,客户端是我们常用的putty。这个的确是可以远程连接的,但是putty反馈的内容一堆乱码,而且还没有滚动条,中文就更不用说了,可以说,虽然可以连接,但是没法用==
其实我是去google找怎么解决这个freeSSHd的乱码问题的,无意间发现一个回答者说了如下的一句话:
这个就激起我的好奇心,这个PowerShell Server 是什么呢?只是之前用过这个PoweShell 这个是可以kill线程的高级版cmd吧~于是就是查找这个PowerShell(http://www.powershellserver.com/),看了简介,这个就是一个专门用来连接windows的远程连接软件啊!而且它还有一个免费版的,虽然只能允许同时连接一个人,但是我觉得这对于我来说已经够了。
这个的使用也是十分方便的,具体的配置使用可以参考这个GetStart(http://www.powershellserver.com/support/articles/getting-started/)
好了,我们来下载一个:
配置的话,因为我就是需要远程连接,所以其他的我们就不管了~
先点击那个Server Key因为我在同一个路由器下我们还有一个部署GitLab的centos,所以这个公网下22号端口被占用了,于是呢,我就得改一下我这个ssh服务器的端口:
然后呢,还要去设置下防火墙开放33号端口哦!
其实,原本这个软件就是自带了一个Server Key的,这个可以在我们的文件目录下找到~
我们也可以自己生成一个key,就是点击那个Generate然后按照提示就建立了~
然后呢,我们来点击Security
这里的配置和我的上图一样就好~那个最后那个File Based Public Key就是你的客户端生成的那个公钥(我这里直接用的git生成的那个)
然后,我们改一下他的编码方式,改成简体中文就好,这样我们的putty里面就显示中文了~
这时候,点击保存,启动!
那么我们的服务器就配置好了~
下面我们来配置一下客户端,这里我们就用putty就好~
去官网(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)下载一个putty.zip
然后我们进入安装目录:
打开puttygen.exe软件,点击load加载一个private key,因为我的private key并不是puttygen产生的(也是最初使用git时候生成的,这样的话也是为了和服务器公钥保持一致),所以需要进行一个转换,加载完成之后,点击save private key,保存为pri.ppk,这个是pageant.exe承认的key。
然后打开pageant.exe,在托盘下面会看到一个图标,点击add key,加载刚才生成的pri.ppk文件。
然后我们打开putty.exe
为了以后访问的方便,我们可以在这里存储一个配置,然后open
因为,客户端的私钥和服务器的公钥保持一致,所以我们就直接登录上来了,这个登录名是可以随便写的,我们登录的都是服务器的一个Happy用户(我的windows用户),如果我们在最开始勾选了那个run as windwos service的话,我们登录的就不是我的windows本地用户了。
大家看这个路径都已经变化了,我为什么要使用windows用户登录呢,因为为了我最初的需求嘛,我为了可以从github上pull下来最新的服务器版本,如果不是以服务器的本机用户登录的话,那么就没有对应github的私钥(我与github连接的方式也是ssh),那么就会报一个错误:git host key verification failed
所以,我没有勾选那个选项~
好了,大概就是这个样子~希望大家玩的开心!
===================================================
今早,突然又发现连接,竟然要输入密码,输入正确的密码后竟然连接失败,于是去看看服务器的输出信息,说是私钥和公钥不符。
原来我们之前那个设定ssh 私钥的方法不是永久的,所以,我们可以再打开那个PAGEANT.EXE然后按照上面操作把私钥添加进去,但是,每次笔记本开机之后连接都要这样的话,是不是太不方便了?
于是呢,我们可以设置一下putty.exe这个程序:
这样,然后把我们那个连接session保存(我这里是Happiness)即可。以后再练接的话就导入这个session就好啦~
嗯嗯,补充的也就这些吧~