ssh_port=`sed '/^ssh_port=/!d;s/.*=//' ${hostConfFile}` host_ip=`sed '/^host_ip=/!d;s/.*=//' ${hostConfFile}` host_name=`sed '/^host_name=/!d;s/.*=//' ${hostConfFile}` net_ntp_ip=`sed '/^net_ntp_ip=/!d;s/.*=//' ${hostConfFile}` ntp_ip=`sed '/^ntp_ip=/!d;s/.*=//' ${hostConfFile}` ntp_gw=`sed '/^ntp_gw=/!d;s/.*=//' ${hostConfFile}` sys_name=`sed '/^sys_name=/!d;s/.*=//' ${hostConfFile}` is_yum=`sed '/^is_yum=/!d;s/.*=//' ${hostConfFile}` is_compile_ntp=`sed '/^is_compile_ntp=/!d;s/.*=//' ${hostConfFile}`
时间: 2023-04-10 19:02:39 浏览: 121
这是一段 shell 脚本,从一个配置文件中读取了一些变量的值。这些变量包括 ssh_port、host_ip、host_name、net_ntp_ip、ntp_ip、ntp_gw、sys_name、is_yum 和 is_compile_ntp。这些变量的含义需要根据具体的上下文来理解。
相关问题
docker容器安装ssh
Docker 容器安装 SSH 的步骤如下:
1. **创建一个新的 Dockerfile**: Dockerfile 是一个文本文件,包含了构建镜像的指令。首先,创建一个名为 `Dockerfile` 的文件,内容通常类似:
```dockerfile
# 使用官方的 Ubuntu 镜像作为基础
FROM ubuntu:latest
# 设置 maintainer 和运行时用户
MAINTAINER Your Name <your.email@example.com>
USER root
# 更新软件包列表并安装SSH
RUN apt-get update && apt-get install -y openssh-server
# 关闭root登录并设置SSH配置
RUN sed 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' -i /etc/ssh/sshd_config
RUN echo 'root:your_password' | chpasswd
# 开启SSH服务,并映射宿主机的端口到容器内的默认22端口
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
```
2. **构建 Docker 镜像**:
在Dockerfile所在的目录下,运行命令 `docker build -t your-image-name .`,将 `-t` 参数替换为你想要给镜像取的标签。
3. **运行 Docker 容器**:
运行 `docker run -d --name ssh_container -p host_port:22 your-image-name`,这里 `-d` 表示后台运行,`-p` 将主机的某个端口映射到容器的22端口上。`host_port` 替换为你想在宿主机上监听的SSH连接端口号。
4. **验证SSH服务**:
在宿主机上通过 SSH 工具尝试连接,如果一切正常,你应该能够连接到新创建的容器。
启动一个容器,挂载宿主机的/etc/目录,之后将反弹shell的脚本写入到/etc/crontab中,攻击机nc -vv -l -p Port会得到一个反弹的shell 因为没有公网IP,就不试了。目标机上:
在Linux系统中,启动一个容器并挂载宿主机的`/etc`目录通常需要使用Docker或者其他容器化工具,如Podman。以下是使用Docker的示例步骤:
1. **创建Dockerfile**:
首先,你需要有一个Dockerfile,它包含了必要的指令来构建镜像。例如:
```Dockerfile
FROM ubuntu:latest
RUN apt-get update && \
apt-get install -y cron openssh-server
# 挂载/etc目录
VOLUME /etc
# 将反弹shell脚本添加到/etc/crontab
ADD反弹shell脚本.sh /etc/crontab
RUN chmod +x /etc/crontab/reboundshell脚本.sh
CMD ["/usr/sbin/sshd", "-D"]
```
2. **构建镜像**:
使用`docker build`命令基于Dockerfile构建一个新的镜像:
```
docker build -t your-image-name .
```
3. **运行容器**:
创建一个容器并挂载宿主机的`/etc`目录:
```bash
docker run -d -v /host/path/to/etc:/etc your-image-name
```
4. **配置SSH监听**:
如果你想通过SSH接收反弹shell,确保容器内的SSH服务已经启用,并允许外部连接:
```bash
docker exec -it <container-id> bash
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
service ssh restart
```
5. **监听端口**:
使用`nc`命令监听指定端口,这一步由于没有公网IP,在实际环境中无法直接测试,你可以使用`docker inspect`获取容器内部的IP地址。
```bash
docker exec -it <container-id> nc -vv -l -p Port
```
注意,这种做法存在安全隐患,因为它允许远程访问容器的root shell,只应在受控和安全的环境中操作。
阅读全文