背景:
公司的台机上不能随便安装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
阅读(6984) | 评论(2) | 转发(0) |