终于研究出 Cygwin SSHD 服务不乱码的设置方式,今天终于把 BitVise WINSSHD 换掉!版权无忧,速度至上。
服务端
-
Cygwin-SETUP 先装 NET 下面的 OpenSSH。
-
打开 cygwin-shell 执行 ssh-host-config
-
按以下选项配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
Query: Should StrictModes be used? (yes/no)** yes **
# ntfs 分区格式的应开启,ssh密钥方式登录将会被限定在用户主目录下的.ssh。
Query: Should privilege separation be used? (yes/no) **yes **
#权限隔离,比较安全
Query: new local account 'sshd'? (yes/no) **yes **
# 这个不太清楚,估计是用来测试是否能创建帐号的
Query: Do you want to install sshd as a service?
# 当然是yes
Query: (Say "no" if it is already installed as a service) (yes/no) **yes**
#将 sshd 加入服务,这样就会自启动
Query: Enter the value of CYGWIN for the daemon: [] **ntsec tty**
#这里应该是设置认证策略
Info: This script plans to use 'cyg_server'.
Info: 'cyg_server' will only be used by registered services.
Query: Do you want to use a different name? (yes/no) **no**
#创建sshd进程的身份,默认的用户名就可以了。然后会提示给这个帐号输入密码
|
-
右击电脑,管理,添加一个系统用户如 foobar,注意用户组必须是 Administrators 的。才能登录系统。
-
回到 cygwin-shell 打以下命令,将当前用户和用户组装入 cygwin 。
1
2
|
mkpasswd -l > /etc/passwd #将当前系统所有用户导入到 cygwin
mkgroup -l > /etc/group #将当前系统所有用户组导入到 cygwin
|
- 执行 net start sshd #启动系统 sshd 服务开始接收请求。
本机端
-
打开本机的 cygwin 执行 ssh [email protected] #server.com 指代Server地址
-
输入密码登录成功,需要先在~/.bash_profile 追加一行 :export LANG=C.GBK 。因为很多 windows 本身的 cmd 程序输出是GBK编码的。这样设置之后才能正常输入和输出中文。设置之后要重新登录才会生效。当然在 shell 里面执行一下也可以即时生效