Cygwin之——配置sshd服务

来源:互联网 发布:质谱数据分析 编辑:程序博客网 时间:2024/05/09 03:28

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51500204

1、以管理员身份登录

2、给文件授权,以完成sshd 服务的安装
$ chmod +r /etc/group
$ chmod +r /etc/passwd
$ chmod +rwx /var

2、安装 sshd 服务
$ ssh-host-config

Query: Should privilege separation be used? (yes/no) yes
Query: (Say "no" if it is already installed as a service) (yes/no) yes
Query: Enter the value of CYGWIN for the daemon: [ntsec] ntsec
Query: Do you want to use a different name? (yes/no) no
不同版本的sshd问题不一样,假如有其他提问自己看着办

3、使用 windows 用户本地认证,即使用windows 的用户名和密码登录

(这一步比较关键,之前按照Hadoop开发者的资料操作,没有这个步骤,导致了我的CYGWIN sshd服务启动不起来,老是提示“一些服务自动停止,如果他们没什么可做的......”)
$ mkpasswd -l > /etc/passwd
$ mkgroup -l > /etc/group   

4、启动
$ cygrunsrv --start sshd
停止
$ cygrunsrv --stop sshd


5、客户端登录(假设服务器地址为192.168.1.100)

$ ssh administrator@192.168.1.100

常见问题:

1、Q: cygrunsrv -S sshd不能启动,报告
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062


A: 很可能是/var/log的权限设置不正确。首先执行 mkpasswd 和 mkgroup 重新生成权限信息,再删除sshd服务,重新配置:

$ mkpasswd -l > /etc/passwd
$ mkgroup -l > /etc/group
$ cygrunsrv -R sshd
$ ssh-host-config -y
$ cygrunsrv -S sshd


2、Q: 客户端连接时提示服务器密钥(ssh-rsa)不一致

A: 应该是客户端以前连接时记录的服务器密钥跟新的不一致:

在客户端的cygwin的 /home/xxx(用户名,比如Administrator)/.ssh/known_hosts文件中找到服务器地址所对应的一行,删除掉,重新连接


3、Win7下Cygwin中,使用ssh localhost命令,出现Connection closed by127.0.0.1的问题

解决方案:
1)开始——运行——services.msc
2)右键CYGWINsshd——属性——登录选项卡——选择“此账户”——浏览——高级——立即查找——选择你的账户名(必须为管理员权限)——输入密码(必须要有,空密码不接受)——确定。
3)重启CYGWINsshd服务即可。这样就以你的账户的名义启动了这个服务。然后ssh localhost成功。

1 0