首页 > 其他分享 >web方式访问ssh

web方式访问ssh

时间:2024-09-18 11:51:53浏览次数:1  
标签:容器 web 访问 tcp nginx ssh docker 80

环境说明

需求 : 通过Web 浏览器来登录后端的SSH Server
优点 : 方便 、快捷 、安全、可控
环境 : VMWare Workstation NAT 模式的 VM
实现 : CentOS + Docker

一、docker安装
1、使用官方安装脚本自动安装
环境准备:虚拟机可以联通互联网,联网运行脚本安装即可。

curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun

2、启动docker

systemctl start docker

3、查看docker守护进程

ps aux | grep docker
root   3835  0.2  5.6 578936 56768 ?     Ssl  05:51   0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

二、安装nginx容器

1、下载nginx镜像

docker pull nginx:latest

2、查看镜像

docker images
REPOSITORY    TAG          IMAGE ID       CREATED       SIZE
nginx         latest       08b152afcfae   11 days ago   133MB

3、后台启动容器并映射容器的80端口到宿主机的8080

docker run --name nginx-test -p 8080:80 -d nginx

4、查看容器运行状态

docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED        STATUS        PORTS                                                              NAMES
391ae10d6e3a   nginx                    "/docker-entrypoint.…"   26 hours ago   Up 26 hours   0.0.0.0:8080->80/tcp, :::8080->80/tcp                              nginx-test

5、配置默认网页,修改index.html文件

cd /usr/share/nginx/html
tee index.html <<EOF
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p><b>说明:这是空中动手实验室的最简单的演示界面</b> </p>

<iframe src="http://192.168.234.128:8090/?hostname=172.17.0.4&username=root&password=root= " name="iframe_a" width=1000 height=400></iframe>

</body>
</html>
EOF
6、查看index.html
cat index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p><b>说明:这是空中动手实验室的最简单的演示界面</b> </p>
<iframe src="http://192.168.234.128:8090/?hostname=172.17.0.4&username=root&password=root= " name="iframe_a" width=1000 height=400></iframe>
</body>
</html>

三、安装webssh容器

1、下载镜像

docker pull ascs/webssh:alpine-3.9

2、启动容器并映射端口

docker run -d --privileged --name webssh -p 8090:80 ascs/webssh:alpine-3.9

3、查看容器状态

docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED        STATUS        PORTS                                                              NAMES
a1e8b1559be9   ascs/webssh:alpine-3.9   "wssh --port=80 FORE…"   24 hours ago   Up 24 hours   22/tcp, 443/tcp, 8000/tcp, 0.0.0.0:8090->80/tcp, :::8090->80/tcp   webssh

四、创建sshd容器

1、下载镜像

docker pull ubuntu

2、启动并交互式进入容器容器

docker run -it ubuntu:latest /bin/bash

以下操作在容器中进行

3、更新apt缓存,安装openssh-server

apt-get update; apt-get install openssh-server -y

4、启动SSH服务

mkdir -p /var/run/sshd
/usr/sbin/sshd -D &

5、查看服务状态

netstat -tunlp(apt-get install net-tools安装netstat)

6、修改SSH服务安全登录配置,取消pam登录限制(用到sed编辑器)

sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd

7、本地主机获取宿主机公钥

sudo ssh-keygen -t rsa 
sudo cat /root/.ssh/id_rsa.pub(创建在/root/.ssh/下面)

8、将公钥复制到容器下面文件里

mkdir root/.ssh 
vi /root/.ssh/authorized_keys

9、固化镜像(宿主机测试)

docker commit 1318b700e415 sshd:ubuntu 

五、访问测试

访问 http://宿主机ip:8080

标签:容器,web,访问,tcp,nginx,ssh,docker,80
From: https://www.cnblogs.com/OpenSourceSite/p/18418190

相关文章

  • 期末前端web大作业——动漫客栈响应式bootstarp(7页) 排版整洁,内容丰富,主题鲜明 (2)
    HTML实例网页代码,本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。⚽精彩专栏推荐......
  • 大学生网页制作期末作业——html+css+javascript+jquery旅游官网6页 html大学生网站开
    ......
  • ZBlogPHP提示非法访问,验证码不显示,验证码报错
    针对您在ZBlogPHP升级后遇到的问题,以下是解决步骤:定位文件位置使用FTP客户端或者通过您的虚拟主机控制面板中的文件管理器找到 zb_users 目录。打开 c_option.php 文件。修改配置选项在 c_option.php 文件中找到如下两行配置:php 'ZC_LOGIN_CSRFCHECK......
  • HTML页面中搭建WebSocket服务和调试部署的手把手操作教程
    好的,以下是一份关于“在HTML页面中搭建WebSocket服务和调试部署”的手把手操作流程,由浅入深,先整体后分部:一、引言WebSocket是一种在单个TCP连接上进行全双工通信的协议。它允许服务器主动发送信息给客户端,使得实时应用成为可能。本文将详细介绍如何在HTML页面中搭建WebSoc......
  • 在 Web 中判断页面是不是刷新
    在Web开发中,我们经常需要区分用户是否通过刷新操作重新加载了页面。这一操作可能是由用户手动刷新(如按下F5键或点击浏览器刷新按钮)或通过浏览器自动重新加载。判断页面是否刷新有助于开发者优化用户体验,例如在使用vue的时候需要进行权限控制,就需要判断在刷新后根据登录者的权......
  • pywebview 中错误使用async
    错误代码正确示例完整代码前端代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>pyw......
  • GitHub 配置 ssh key 的步骤及原理解释
    原文:Github配置sshkey的步骤(大白话+包含原理解释)本文涉及SSH相关知识,建议先阅读SSH原理与运用(一):远程登录或者将其作为扩展资料。前言在GitHub上配置sshkey很容易,网上一大堆教程,但基本没有详细解释其原理的,为什么要配?每使用一台主机都要配?配了为什么就不用密码......
  • SSH原理与运用(一):远程登录
    原文:SSH原理与运用(一):远程登录-阮一峰的网络日志SSH是每一台Linux电脑的标准配置。随着Linux设备从电脑逐渐扩展到手机、外设和家用电器,SSH的使用范围也越来越广。不仅程序员离不开它,很多普通用户也每天使用。SSH具备多种功能,可以用于很多场合。有些事情,没有它就是......
  • 104.WEB渗透测试-信息收集-FOFA语法(4)
    免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!内容参考于:易锦网校会员专享课上一个内容:103.WEB渗透测试-信息收集-FOFA语法(3)打开fofa搜索引擎搜索输入:domain="qimai.cn"&&"app="vmware-SpringBoot-Framework"搜索发现没有没有就是不存在,有的话就是......
  • 虚幻引擎运行时无访问报错
    今天做动态准星扩散遇到一个无访问报错问题记录一下遇到问题不要慌简单分析一下是什么原因导致的报错点击放大镜跳转到所在蓝图 直接定位到相关节点EventTick这个事件会每帧调用,但如果这个值是未初始化或者是空的(为NULL),自然也"Set"不了了,可以理......