docker centos7 安装ssh具体步骤
dockercentos7安装ssh具体步骤,这里记录下,也行能帮助到正在读文章的朋友。
一.从dockerhub下载centos官方镜像
hr:centos7hr$dockerpullcentos:7 下载完后,查看本地资源库: hr:centos7hr$dockerimages REPOSITORYTAGIMAGEIDCREATEDVIRTUALSIZE centos7ce20c473cd8a7weeksago172.3MB 运行容器 hr:centos7hr$dockerrun-i-tcentos:7/bin/bash
二.安装passwd,openssl,openssh-server
[root@b5926410fe60/]#yuminstallpasswdopensslopenssh-server-y 启动sshd: #/usr/sbin/sshd-D 这时报以下错误: [root@b5926410fe60/]#/usr/sbin/sshd Couldnotloadhostkey:/etc/ssh/ssh_host_rsa_key Couldnotloadhostkey:/etc/ssh/ssh_host_ecdsa_key Couldnotloadhostkey:/etc/ssh/ssh_host_ed25519_key 执行以下命令解决: [root@b5926410fe60/]#ssh-keygen-q-trsa-b2048-f/etc/ssh/ssh_host_rsa_key-N'' [root@b5926410fe60/]#ssh-keygen-q-tecdsa-f/etc/ssh/ssh_host_ecdsa_key-N'' [root@b5926410fe60/]#ssh-keygen-tdsa-f/etc/ssh/ssh_host_ed25519_key-N'' 然后,修改/etc/ssh/sshd_config配置信息: UsePAMyes改为UsePAMno UsePrivilegeSeparationsandbox改为UsePrivilegeSeparationno [root@b5926410fe60/]#sed-i"s/#UsePrivilegeSeparation.*/UsePrivilegeSeparationno/g"/etc/ssh/sshd_config [root@b5926410fe60/]#sed-i"s/UsePAM.*/UsePAMno/g"/etc/ssh/sshd_config 修改完后,重新启动sshd [root@b5926410fe60/]#/usr/sbin/sshd-D
三.修改root密码
[root@b5926410fe60/]#passwdroot
四.查看容器ip地址(如果宿主机是linux操作系统则跳过这一步)
[root@b5926410fe60/]#ipaddrlseth0 84:eth0@if85:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscnoqueuestateUP link/ether02:42:ac:11:00:02brdff:ff:ff:ff:ff:ff inet172.17.0.2/16scopeglobaleth0 valid_lftforeverpreferred_lftforever inet6fe80::42:acff:fe11:2/64scopelink valid_lftforeverpreferred_lftforever
五.将当前容器保存为镜像
hr:centos7hr$dockerps-all CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES b5926410fe60centos:7"/bin/bash"4minutesagoExited(0)4secondsagocentos7ssh hr:centos7hr$dockercommitb5926410fe60herong/centos7-ssh
六.在宿主机上基于新创建的镜像启动新的容器
--先删除之前的容器 hr:centos7hr$dockerps-all CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 4122f818a741herong/centos7-ssh:latest"/usr/sbin/sshd"13secondsagoExited(0)13secondsagohappy_mclean hr:centos7hr$dockerrm-f4122f818a741 --基于新镜像运行容器 hr:centos7hr$dockerrun-d-p10022:22herong/centos7-ssh:latest/usr/sbin/sshd-D --查看映射端口是否成功 hr:centos7hr$dockerps-all CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 4966d35fe0a3herong/centos7-ssh:latest"/usr/sbin/sshd-D"3secondsagoUp3seconds0.0.0.0:10022->22/tcpcompassionate_kowalevski hr:centos7hr$dockerport4966d35fe0a3 22/tcp->0.0.0.0:10022
七.从宿主机连接到容器
w如果宿主机是非linux操作系统,则需要通过docker-machineip连到容器 --查看docker-machineIp地址 hr:centos7hr$docker-machineipdefault 192.168.99.100 --通过docker-machineip连接到容器,输入之前设置的密码即可登录成功 hr:centos7hr$sshroot@192.168.99.100-p10022 Theauthenticityofhost'[192.168.99.100]:10022([192.168.99.100]:10022)'can'tbeestablished. ECDSAkeyfingerprintisSHA256:d3JNckcTVv1ASJlwv+IT/bJwlzMC4U1T/PmsKYIHMhQ. Areyousureyouwanttocontinueconnecting(yes/no)?yes Warning:Permanentlyadded'[192.168.99.100]:10022'(ECDSA)tothelistofknownhosts. root@192.168.99.100'spassword: [root@4966d35fe0a3~]#pwd /root w如果宿主机是linux操作系统,则通过第4步查看到的ip地址连接 hr:centos7hr$sshroot@172.17.0.2-p10022
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!