借鉴来源:https://www.cnblogs.com/sparkdev/p/10166061.html
Windows安装ssh
# 进入链接下载
https://github.com/PowerShell/Win32-OpenSSH/releases
# 最新 OpenSSH-Win64.zip(64位系统),解压至C:\Program Files\OpenSSH
#打开命令行,进入目录
cd C:\Program Files\OpenSSH
#安装openssh
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
# 设置服务自动启动
sc config sshd start= auto
# 启动服务,至此安装ssh完毕
net start sshd
# 查看windows的ip
ipconfig
#在Linux服务器测试连接
ssh windows的ip地址 -l administrator
#输入密码登录成功表示完成
配置信任
1、运行 命令生成公钥和私钥
ssh -keygen -t rsa(dsa)
2、用户公钥私钥所在位置:
# linux用户
~/.ssh
# windows用户
C:\Users\Administrator\.ssh
# 公钥:id_rsa.pub 私钥:id_rsa.pub
# 信任放置处 authorized_keys,用于存储其他用户在本机的公钥,多个公钥使用;隔开
3、将公钥的内容复制到要远程连接的服务器的authorized_keys里
4、windows多一步:
# 打开 C:\ProgramData\ssh\sshd_config文件
# 或者 命令行输入: notepad C:\ProgramData\ssh\sshd_config
# 打开后注释掉最后两行(使用#符号注释):
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
5、重启ssh连接:
# Linux:需要切换到root用户
su
systemctl restart sshd
# windows:服务管理重启
# 或者使用命令行模式 win + r 输入cmd
net stop sshd
net start sshd
遇到问题:
信任明明已经配好了,但是还是一直要输入密码,解决方案
# ~, ~/.ssh这两个文件夹的权限改成755
# 被连接的服务器的~/.ssh/authorized_keys这个文件的权限改成600