通过SSH远程连接Windows系统并设置默认shell为git-bash

2024-07-19 646点热度 0人点赞 0条评论

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类似的命令了。

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论