由于网上关于openSSH使用的文章大多都是关于linux的。
在这里记录下openSSH在windows上的使用方法。
另外如果在使用过程中遇到问题,可以查看官网对于各种问题的解答。
openssh软件官网下载地址:
基于PowerShell的OpenSSH:https://github.com/PowerShell/Win32-OpenSSH/releases
环境说明:
服务器端:windows server 2008、openssh
客户端:windows 7、secureCRT
服务器端
openssh服务的安装
1、进入链接下载最新 OpenSSH-Win64.zip(64位系统),解压至C:Program FilesOpenSSH
2、打开cmd,cd进入C:Program FilesOpenSSH(安装目录),执行命令:
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
3、设置服务自动启动并启动服务:
sc config sshd start= auto
net start sshd
到此服务已经安装完毕,默认端口一样是22,默认用户名密码为Window账户名和密码,当然防火墙还是要设置对应端口允许通讯。
openssh服务的配置
修改C:ProgramDatassh目录下(此目录为隐藏目录)的文件sshd_config。
端口号: Port 22
密钥访问:PubkeyAuthentication yes
密码访问:PasswordAuthentication no
空密码: PermitEmptyPasswords no
注释掉文件的最后2行:
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
然后进入C:Users账户名.ssh目录,创建authorized_keys公钥文件(也可在ssh_config修改路径)
以管理员权限打开 PowerShell,执行命令。
#执行这条命令相当于进入目录C:Program FilesOpenSSH:
cd C:Progra~1OpenSSH
#执行下面这2条命令相当于设置权限:
.FixHostFilePermissions.ps1
.FixUserFilePermissions.ps1
设置完成后重启sshd服务。
客户端
打开secureCRT主界面,生成RSA密钥对,生成完成后将identity.pub的内容手动复制到服务器端的"C:Users账户名.sshauthorized_keys"文件中并保存。然后重启服务器端的sshd服务。
至此,客户端和服务器端配置结束。
secureCRT工具可以使用密钥正常连接到服务器端了。
另外OpenSSH从7.0开始已经不支持DSA加密了,以下引用官方的说法。
Starting with the 7.0 release of OpenSSH, support for ssh-dss keys has
been disabled by default at runtime due to their inherit weakness. If
you rely on these key types, you will have to take corrective action or
risk being locked out.
Your best option is to generate new keys using strong algos such as rsa
or ecdsa or ed25519. RSA keys will give you the greatest portability
with other clients/servers while ed25519 will get you the best security
with OpenSSH (but requires recent versions of client & server).
If you are stuck with DSA keys, you can re-enable support locally by
updating your sshd_config and ~/.ssh/config files with lines like so:
PubkeyAcceptedKeyTypes=+ssh-dss
Be aware though that eventually OpenSSH will drop support for DSA keys
entirely, so this is only a stop gap solution.
More details can be found on OpenSSH’s website: http://www. openssh.com/legacy.html
所以还是尽量选择支持的加密方式为好。