使用ssh在本地环境(Windows)连接虚拟机以及其中的docker容器

配置虚拟机防火墙

防火墙的一系列操作需要root权限,默认是没有root密码的,所以首先需要设置root密码:

sudo passwd root

按提示完成root密码设置
切换到root账户

su root

启用22端口并重启防火墙

firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload

或者直接关闭防火墙

systemctl stop firewalld.service

ssh连接虚拟机

查看IP地址
安装net-tools
首先安装查看ip地址的工具net-tools,已经有了可以不下载

sudo apt-get update
sudo apt-get install net-tools

通过ifconfig查看虚拟机ip地址在这里插入图片描述
配置虚拟机SSH

  1. 安装openssh-client:sudo apt-get install openssh-client
  2. 安装openssh-server:sudo apt-get install openssh-server
  3. 启动ssh-server:sudo /etc/init.d/ssh restart
  4. 确认ssh-server工作正常:netstat -tpl (看到ssh表示工作正常)

登陆
此时便可以通过在主机cmd上通过命令通过普通用户

ssh username@ip -p port

进行登陆
如果要设置免密登陆请参考这篇https://blog.csdn.net/qq_57150526/article/details/134387937?spm=1001.2014.3001.5502

如果用root登陆则需要修改 /etc/ssh/sshd_config,在打开的文件中找到 PermitRootLogin将其改为PermitRootLogin yes,并取消注释,保存退出。在这里插入图片描述

ssh连接docker容器

连接docker容器大体步骤与连接虚拟机类似。
在创建和运行docker容器时需要将容器的22端口映射到虚拟机的外部端口比如映射到20000

docker run -p 20000:22 --name ubuntu_test -itd ubuntu:latest

刚开始运行容器需要初始化容器的root密码,使用passwd命令按要求修改即可。并且完成连接虚拟机中的各个操作即可
最后在进行免密登陆过程中~/.ssh/config中需要额外添加Port 20000
最后即可按照连接虚拟机的方法登陆了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值