Ubuntu安装SSH服务
说明: ip 192.168.1.185 ubuntu-docker 14.04
1、安装docker
sunny@ubuntu-docker:~$ sudo apt-get install docker.io 安装docker
sunny@ubuntu-docker:~$ service docker status 查看docker启动状态
sunny@ubuntu-docker:~$ sudo docker version 查看docker版本号
sunny@ubuntu-docker:~$ sudo docker pull bobsha/ping 下载容器:Ubuntu镜像地址
sunny@ubuntu-docker:~$ sudo docker pull nginx 下载nginx镜像
Docker安装和使用Busybox、ubantu、centos等操作系统。
2、以ubuntu镜像为例
ubantu镜像很多,使用“-s”参数,只搜索那些被搜藏10次以上的镜像
sunny@DOCKER:~/apache_ubuntu$ sudo docker search -s 10 ubuntu
sunny@DOCKER:~/apache_ubuntu$ sudo docker pull ubuntu 下载官方推荐源
sunny@DOCKER:~$ sudo docker images 查看镜像
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 08881219da4a 3 weeks ago 129 MB
bobsha/ping latest f836a9b345e5 10 months ago 139.5 MB
sunny@DOCKER:~$ sudo docker run -it ubuntu /bin/bash
root@e38169246351:/# uname -v 查看操作系统版本
#40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015
安装软件
root@e38169246351:/# apt-get update Docker官方镜像默认精简型,更新后可下载软件
root@e38169246351:/# apt-get install curl 安装curl
--------------------------------------
3、创建支持SSH服务的镜像
a、更改镜像名字
sunny@DOCKER:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 08881219da4a 3 weeks ago 129 MB
sunny@DOCKER:~$ sudo docker tag ubuntu ubuntu:14.04
sunny@DOCKER:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 08881219da4a 3 weeks ago 129 MB
ubuntu 14.04 08881219da4a 3 weeks ago 129 MB
建议使用国内163源地址:/etc/apt/sources.list
默认没有netstat、ifconfig,因为镜像里缺少 net-tools这个包
默认没有vi、vim,因为镜像里缺少vim这个包
b、安装sshd组件
root@d00a6efdd8cb:/# apt-get install openssh-server 安装
root@d00a6efdd8cb:/# mkdir -p /var/run/sshd 创建启动目录
root@d00a6efdd8cb:/# /usr/sbin/sshd -D & 启动
Proto RefCnt Flags Type State I-Node PID/Program name Path
root@d00a6efdd8cb:/# netstat -lnp 查看22端口
修改ssh安全登录配置:注释掉
root@d00a6efdd8cb:/# sed -ri 's/session required pam_env.so/#session required pam_env.so/g' /etc/pam.d/sshd
生成秘钥
root@d00a6efdd8cb:/# mkdir root/.ssh 创建秘钥目录
root@d00a6efdd8cb:/# ssh-keygen -t rsa 生成秘钥
root@d00a6efdd8cb:/# cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys 拷贝至本地
创建SSH服务器启动脚本
root@d00a6efdd8cb:/# cat run.sh
#!/bin/bash
/usr/sbin/sshd -D
root@d00a6efdd8cb:/# chmod +x run.sh
创建,使用镜像
sunny@DOCKER:~$ sudo docker commit d00 sshd:ubuntu 创建
[sudo] password for sunny:
38696e3ed6fecfb1040932e2a1f0f394d1c2f4e6bff4df0a941853efd7172be4
sunny@DOCKER:~$ sudo docker run -p 10022:22 -d sshd:ubuntu /run.sh 使用
sunny@DOCKER:~$ netstat -lnp 查看端口
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::10022 :::* LISTEN -
c、远程连接需要将远程主机公钥拷贝到容器
c.1 不妨再创建一个容器
sunny@DOCKER:~$ sudo docker run -p 10023:22 -d sshd:ubuntu /run.sh
fb6b8bd82fda5a39c394708e80393faf5acd4a6dc61b8fddc1a22aeb40d04bb7
sunny@DOCKER:~$ sudo docker exec -it fb6 /bin/bash
root@fb6b8bd82fda:/# ssh root@192.168.1.185 -p 10022
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 3.16.0-30-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Last login: Thu Jan 12 11:29:27 2017 from 172.17.42.1
root@a7297284921e:~#
登录成功。
c.2 远程主机登录
[root@bamboo-api .ssh]# ssh root@192.168.1.185 -p 10022 远程主机登录
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 3.16.0-30-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Last login: Thu Jan 12 13:42:46 2017 from 192.168.1.176
root@a7297284921e:~#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗