Chinaunix首页 | 论坛 | 博客
  • 博客访问: 949150
  • 博文数量: 134
  • 博客积分: 7443
  • 博客等级: 少将
  • 技术积分: 1411
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-10 20:18
文章分类

全部博文(134)

文章存档

2012年(7)

2011年(29)

2010年(16)

2009年(6)

2008年(18)

2007年(58)

分类:

2007-11-07 12:49:22

背景:

公司的台机上不能随便安装linux,为了使用我习惯的shell环境,安装了cygwin。cygwin默认终端是DOS窗口,让人不爽:界面丑陋,不能输入中文,不能全屏,不能使用鼠标复制粘帖。于是我选择在cygwin上启动sshd,使用putty登录本机的方法,让putty成为cygwin的默认终端。

因为每次都要启动sshd,启动putty登录太麻烦了,我直接修改启动cygwin的启动脚本,实现自动检查并启动sshd,启动putty,自动完成登录.

准备:

1.下安装cygwin2.注意选择sshd组件

2.安装putty
 

步骤:

1. 修改环境变量
   在path中添加putty所在目录的路径,让putty能在任何位置直接执行

2. 修改cygwin的启动批处理文件
   cygwin.bat,如下:
      @echo off
      D:
      chdir D:\cygwin\bin
      bash -login -i -c "ps -e | grep -c sshd  || /usr/sbin/sshd"
      start putty localhost
  
   脚本说明:ps -e | grep -c sshd  || /usr/sbin/sshd命令,可以检查是否已经有sshd运行,如果没有则启动sshd。
   补充说明:
   为了不让在启动的时候闪出一下DOS窗口,在指向这个批处理文件的桌面快捷方式属性中:运行方式选择:最小化
   启动这个脚本后,要输入用户名和密码:就是windows机器的用户名和密码(如果不确定可以使用passwd命令修改)  

3. PUTTY设置
   (1)Window/Appearance选项下,选择字体Fixedsys使能显示中文。
   (2)Conection/Data选项下,选择协议SSH,设置ssh登录用的用户名,就是windows机器的用户名,
   (3)Session选项下,把设置保存到Default Settings
 
4. 用户文件设置
   在登录cygwin后的home目录下,修改.inputrc文件,添加下面的行
         # Allow 8-bit input/output
         set meta-flag on
         set convert-meta off
         set input-meta on
         set output-meta on
   
  修改.bash_profile文件,添加下面的内容
         alias ls='ls --color --show-control-chars'
         export LC_ALL=zh_CN.GB23122
         stty cs8 -istrip
         stty pass8
         export LESSCHARSET=latin1
  
 
5. 自动登录设置
   尽管putty可以设置默认登录用户名,但每次还要输入密码。太麻烦。让ssh使用密钥认证,不必每次登录输入密码。使用下面的方法:
     (1)使用puttygen生成密钥对(菜单key下),公钥保存到public.txt文件(任意目录下), 私钥保存到 private.ppk文件(任意目录下).
     (2)登录到cygwin,把公钥导入,运行:ssh-keygen -X -f public.txt >> ~/.ssh/authorized_keys2。主要指定public.txt的路径
     (3)在putty界面上,SSH/Auth选项下,选择保存的私钥文件。Session下把设置保存到Default Settings
阅读(6938) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

ojrain2009-04-09 15:26:24

有个工具是 puttycyg 哦 你可以试试 不用开sshd 啦

cuichaox2008-01-24 22:44:57

update : putty下面不能正常使用windows自带的telnet工具。安装cygwin的telnet工具,可以解决这个问题.