1)打开Cygwin命令
2)执行如下命令
$ ssh-host-config3) when asked “Shouldprivilege separation be used”, answer yes.
4) When asked “new local account 'sshd'”, answer yes.
5) When asked “(Say "no" if it is already installed as a service)”,answeryes.
6) When asked Enter”the valueof CYGWIN for the daemon”, enter ntsec.
7)When asked “Do you want to use a differentname?”,answeryes.
8)输入密码
9)下面是一个示例会话的命令。
4.2 开启ssh服务第一种方法:直接输入命令
$ net start sshd 或者 cygrunsrv –S sshd第二种方法:图形化操作
1)在你的桌面或者开始菜单里找到”我的计算机”,然后鼠标右键选择管理。
2)在左边的面板展开服务和应用程序,然后选择服务选项。
3)找到CYGWIN sshd 选项,然后鼠标右键
4)在菜单栏点击开启。
Win7下比较麻烦:
如果win7也按照跟xp一样的安装,就算你运行cygwin以管理员权限运行,到最后估计一样会报错,反正我这是这样子的,服务可以起来,但在最终密钥什么的都配置完成后执行会报:
Elvis@Elvis-PC ~
$ssh localhost
connection closed by ::1
后来针对这个问题我找了N多资料,主要是E文,难为我了,其中有官网的FQA里的文章还有很多国外的博客吧!具体连接我也搞乱了,就不贴出来了,根据几篇资料方法总结如下:
1) 如果你安装了SSH(估计很多都安装了然后发现有错误),可以按以下命令卸载:
$net stop sshd $ cygrunsrv-R sshd $net user sshd /DELETE # See note below $ rm-R /etc/ssh* $mkpasswd -cl > /etc/passwd $mkgroup --local > /etc/group2) 决定一个用来运行sshd进程的用户,相信使用win7的同学肯定都至少会有一个非Administror用户,我的环境现在就是平时都使用Elvis用户具有管理员权限。而下一步需要执行的命令是必须要Administrator才有权利执行的,而管理员用户一般都是被禁的,具体怎么开启请看我博客里的一篇帖子:
3) 使用管理员用户执行以下命令来查看用户现在所具有权限(或者说叫许可?)
$ editrights -l -u Elvis4) 估计大家上述命令执行后肯定没有我们现在所需要的权限,执行以下命令来增加吧!
$ editrights.exe -a SeAssignPrimaryTokenPrivilege -u Elvis $ editrights.exe -a SeCreateTokenPrivilege -u Elvis $ editrights.exe -a SeTcbPrivilege -u Elvis $ editrights.exe -a SeServiceLogonRight -u Elvis5)做完这些后,可以注销进入Elvis用户下继续操作,而后面的操作动作与前面xp下安装过程一样了,就不在详述了。
4.3 建立权限密钥Eclipse插件和Hadoop的脚本都需要通过权限密钥ssh权限来执行而不用密码了。以下步骤就是描述怎么建立权限密钥。
1) 打开cygwin终端
2) 执行以下命令生成密钥
$ ssh-keygen3) 当提示输入文件名等直接ENTER接受默认值
4) 命令完成后生成密钥,输入以下命令到.ssh目录
$ cd ~/.ssh5) 执行以下命令查看密钥是否真的生成
$ ls -l你应该能看到两个文件id_rsa.pub和id_rsa,看生成日期是最近生成的。这些文件中包含权限密钥。
6) 执行以下命令注册到新的authorization_keys文件中。
$ cat id_rsa.pub >> authorized_keys7) 现在输入以下命令验证密钥是否正确
$ ssh lcoalhost因为它是一个新的ssh安装,你将会被警告,主机无法确认你是否真的想连接。输入YES并且按ENTER。你会看到Cygwin在一次执行,那意味着你成功连接了。
8)现在再次执行下面命令:
$ ssh lcoalhostSetting upauthorization keys