Docker windows nano server容器中安装ssh实现远程登录管理
2024-08-22 04:24:44
【问题】
- 使用ServiceMonitor.exe作为前台进程运行起来的容器无法attach。
- 无法远程连接到运行中的容器中进行管理。
【解决方法】
在container中新建管理员用户,通过SSH实现远程连接。
- 新建本地用户
$Password = Read-Host -AsSecureString
New-LocalUser "root" -Password $Password -FullName "Root User" -Description "For remote management"
- 添加用户到Administrators组中
Add-LocalGroupMember -Group "Administrators" -Member "root"
- 设置用户密码永不过期(重要!)
Set-LocalUser -Name "root" -AccountNeverExpires
- 下载OpenSSH
https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
- 解压,执行install-sshd.ps1
- 安装完毕后,即可启动sshd服务
Start-Service sshd
- 设置sshd为默认开启的服务
Set-Service sshd -StartupType Automatic
- 添加防火墙规则,允许默认的ssh端口(22)通过*
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
不过在nano server中貌似把防火墙的功能精简了。使用New-NetFirewallRule命令报错,找不到这个命令。所有的端口只要暴露了皆可访问,上面一步就可以省去了。
- 最后,在启动container时暴露22端口。
docker run --name mysqltest --hostname mysqltest1 --expose=3306 --expose=22 --network=mysqltest-transparent-network --ip="192.168.1.50" -d zwang3/mysql:v3 c:\ServiceMonitor.exe mysql
- 在远程通过ssh访问,需要指定 command为cmd或者powershell。
ssh -l root 192.168.1.50 powershell
最新文章
- SQLSERVER单表CRUD通用方法
- Android — — —动态添加碎片
- 数据库 SQL Server 到 MySQL 迁移方法总结
- Caffe学习系列(11):图像数据转换成db(leveldb/lmdb)文件
- **对比$_POST、$GLOBALS['HTTP_RAW_POST_DATA']和file_get_contents('php://input')
- 用户提交的cookie提交时为什么传不到服务器
- 在Xcode中使用C++与Objective-C混编
- koa-中间件流程控制
- 【原】Unity Shader VS UDK Material Editor
- remap.config文件配置模板
- OpenCV-Python教程9-平滑图像
- Cygwin工具安装和使用指导书
- py使用笔记-pandas函数
- html 网页背景图片根据屏幕大小CSS自动缩放
- python中dir(),__dict__
- Js中String转int
- html表单的各种输入控件
- 学习笔记4-Action参数绑定
- 【zoj2314】Reactor Cooling 有上下界可行流
- OpenCV的Rect矩形类用法
热门文章
- 洛谷4139 bzoj 3884 上帝与集合的正确用法
- Spring Security 学习笔记-securityContext过滤器
- ZR普转提2
- LuoguP3045牛券Cow Coupons
- 【53.57%】【codeforces 610C】Harmony Analysis
- CSS一行显示,显示不下的用省略号显示
- Checkpoint 防火墙修改网卡buffer
- Team Foundation Server 2015使用教程【8】:读取器tfs组的checkin权限修改
- Java中的循环结构
- 深入谷歌和甲骨文旷日持久的版权战争,趣味科普当前最火的编程语言JAVA的前世今生