为windows openssh服务端定制shell

网友投稿 1140 2022-09-08

为windows openssh服务端定制shell

为windows openssh服务端定制shell

微软为windows系统集成了openssh真是个好主意。

一般windows用ssh连接默认使用的shell是cmd,其实他可以运行所有在path环境变量路径下的可执行文件

比如

ssh username@hostname "cmd" --调用c:\windows\system32\cmd.exe

ssh username@hostname "powershell" --调用C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

ssh username@hostname "ping 127.0.0.1" --调用c:\windows\system32\ping.exe 并传参

ssh username@hostname "dir" --cmd内置支持的命令

ssh username@hostname "test.bat" --c:\windows\system32下自定义的一个bat脚本

可以在注册表强制指定ssh使用的shell,在以下路径

HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH

新建一个字符串值DefaultShell

填入有命令行环境的可执行文件路径,如 c:\windows\system32\cmd.exe , C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

当然我们就可以通过在此自定义一个脚本环境来实现个性化需求,比如执行预定义好的批处理程序之类。

例如win下的openssh配置文件是没办法实现指定ssh用户可以使用哪一些命令这个需求的,就可以创建一个脚本,实现命令过滤之类,将它做为ssh shell

但是ssh过来后运行环境就会被这个DefaultShell限定住了,如果我指定DefaultShell的路径是c:\ssh shell config\query.bat

那么 ssh username@hostname "dir" 这样的命令也不会运行了,只能是进入到这个query.bat里面

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:vue小程序开发的效果是不是真的很好
下一篇:python 常用的内置函数(python入门教程(非常详细))
相关文章

 发表评论

暂时没有评论,来抢沙发吧~