可以仔细阅读WinSCP上面的官方教程Installing SFTP/SSH Server on Windows using OpenSSH
设置步骤:
- 下载带sshd的套件: 下载地址, 可以下64bit或者32bit的, 靠稳就32吧.
- 解压缩下载的压缩包, 例如解压到
C:\Software\OpenSSH-Win64
- 跑到
C:\Windows\System32
, 找到cmd.exe, 右键, 管理员运行(Run As Administrator). 跑到解压的文件夹,cd C:\Software\OpenSSH-Win64
- 运行命令, 产生服务器 server key:
ssh-keygen.exe -A
- 开启防火墙进入的22端口: 打开控制面板, 打开防火墙, 高级设置(Advanced Settings), 选择左边的
Inbound Rules
, 右边选择New Rules
(第一次时), 弹出个窗口, 选择Rule Type
为Port
, 下一步, 选择TCP
协议, 指定端口22
, 下一步, 允许连接(第一个,Allow the connection
), 下一步选择所有域, 好了, 最后起个名字SSH
, 描述随意. 这一步也可以在Win8以上在刚才的命令行里输入:New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
. Win7经测不可以. - 设置LSA: 继续在刚才的cmd 命令行, 输入
.\setup-ssh-lsa.cmd
- 重启电脑
- 重复第三步, 管理员权限 打开cmd 命令行窗口, 跑到OpenSSH的文件夹.
-
explorer .
一下可以打开文件夹窗口, 找个编辑器编辑其中的sshd_config
文件, 更改两个地方 (主要是指定路径, 这里复制自己的OpenSSH路径):Subsystem sftp C:\Software\OpenSSH-Win64\sftp-server.exe
Subsystem scp C:\Software\OpenSSH-Win64\scp.exe
- 安装底层运行的sshd 服务: cmd命令行管理员权限:
sshd.exe install
- 开启SSHD服务: 控制面板, 管理工具 (Administrative Tools), 服务(Services), 往下拉找到 SSHD 服务, 右键, 开启服务. 要是每次开机都想自己启动, 右键->属性->
Startup Type
->Automatic
- 至此, 搞掂. 教材后面的东东不是必须的.
登录
- 先要知道自己主机端IP: 打开cmd命令行窗口,
ipconfig
, 找到ipv4地址 - 直接找台有ssh的电脑, 例如linux/mac/mingw都可以.
ssh 用户名@你的IP
. 提示是否保存机子,yes
回车. 然后输入密码 - 登录后, 会变成cmd的命令行式样, 比较丑不好用 退格键怪怪的... 稍后再研究怎么用Mingw代替..至此成功登入!~
- 免密码登录:
- 客户端产生公钥和私钥对. 可以参考以前写的Putty免密码登录部分
- 这边主机端, 弄一个
authorized_keys
文件(服务器端存运行key的). 打开C:\Users\用户名\.ssh
文件夹(没有就创建一个这样的文件夹). 新建一个authorized_keys
. 然后写入要登入的机器的公钥pub key (id_rsa.pub
), 最好复制过来, 例如scp ~/.ssh/id_rsa.pub 用户名@主机IP:id_rsa.pub
, 然后到C:\Users\用户名\
下面编辑这个文件, 将内容复制到authorized_keys
里面, 保存. - 再次在客户端用
ssh 用户名@你的IP
, 这次直接就该登上去不用密码了~
-
sshd.exe
是底层背景运行提供SSH服务的程序, 如果要关掉, 任务管理杀掉就可以了. - 如果要关闭开机sshd服务, 在设置步骤中第11步, 将服务属性改掉就OK了
网友评论