1. 在Windows系统中安装OpenSSH服务端
在Windows11系统下,按 Windows+i 打开设置,点击应用,点击可选功能,点击查看功能,勾选OpenSSH服务器,点击下一步,点击安装。
或者使用Windows Powershell安装OpenSSH:按Windows + x,点击Windows Powershell(要以管理员身份运行),输入以下命令分别安装OpenSSH客户端和服务端。
# 安装 OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# 安装 OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
安装完毕OpenSSH服务端后,还需要启动SSH服务,设置开机启动,设置防火墙。在Windows终端(管理员)中执行以下命令:
# 启动 sshd 服务
Start-Service sshd
# 设置为开机启动:
Set-Service -Name sshd -StartupType 'Automatic'
另外还要在Windows防火墙上入站规则上开放22端口
操作完毕后,即可使用SSH登录到Windows系统终端了。登录后的操作,和在目标机器上打开其Windows终端进行操作是等同的。
ssh administrator@server-ip
修改OpenSSH配置文件,使支持使用密钥远程登录Windows系统。
修改C:\ProgramData\ssh\sshd_config文件的内容,
修改如下几项是生效状态:
PubkeyAuthentication yes PermitRootLogin no
修改如下几项是注释状态(一般来说是生效状态,需要这两行前面加#注释掉):
#Match Group administrators # AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
在Windows终端中重启SSH服务:
Stop-Service sshd; Start-Service sshd
或
Restart-Service -Name sshd
2. 在Windows系统设置无密码登录的密钥和授权文件
将在客户端系统上的密钥文件id_rsa.pub的内容,复制到Windows系统用户的.ssh文件夹的authorized_keys文件中(如果没有这个文件,就新建一个),例如:C:\Users\Terry\.ssh\authorized_keys
。
3. 设置默认shell为git-bash
远程ssh到这台Windows后发现shell就是原来桌面系统的terminal,熟悉Linux的用户,一定希望要有cat,ll,vi等命令,这就需要把默认shell设置为git-bash
首先要安装在windows上安装git,安装地址:https://git-scm.com/download/win,安装好以后,同样管理员打开Powershell,输入一下命令(假设git bash安装在C:\Program Files\Git\bin\bash.exe,自己要确认下路径,如果不是,自行修改):
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\Git\bin\bash.exe" -PropertyType String -Force
下次ssh到这台windows上,熟悉的shell就出来了,可以愉快的使用linux类似的命令了。
文章评论