[Azure - VM] 解决办法:无法通过SSH连接VM,解决错误:This service allows sftp connections only.
本文主要针对 Azure VM 被锁住不能使用 SSH 登陆的解决办法。
在Azure的虚拟机中,想创建一个SFTP用户且想限制这个SFTP用户只能访问固定的目录,于是对sshd_config
进行修改,在配置文件中增加了 ChrootDirectory
、ForceCommand
Match User
和 AllowTcpForwarding
設定。
重启ssh服务后,造成所有User只能使用SFTP方式连接到VM,无法使用SSH连接到Server。
问题描述:
在Azure或者AWS误操作,禁用了SSH服务,造成不能连接到Server,出现如下警告信息:
This service allows sftp connections only.
尝试过程:
#1、 尝试使用另外的机器通过sftp方式远程连接到这台无法连接的机器,想通过这种方式在修改sshd_config
文件。 结果:最终失败
操作过程是:先通过如下命令进行sftp连接,在一台机器上已经连接上了该机器,但是只能使用sftp的linux命令,无法使用ssh中的vim等命令编辑文件。最后sshd_config
失败。
sftp mysftp@192.168.0.1
#2、 尝试使用sftp工具连接到这台机器,之后替换sshd_config
配置文件。结果:最终失败
操作过程是:首先使用WinSCP
连接到这台机器,之后访问路径/etc/ssh
,之后尝试编辑sshd_config
文件。我尝试了使用WinSCP和使用MobaXterm的sftp工具,都可以连接到这台机器,也都可以访问到/etc/ssh
,但是无法进行编辑sshd_config
文件,都提示:Permission denied
。并且期间尝试使用已root权限的方式(sudo)连接,均已失败。
#3、 尝试使用Azure portal中的RDP
进行远程连接。结果:最终失败
在Azure Portal中依次进入到Virtual machines
,找到该机器,之后点击左侧菜单Connect
,找到RDP
页面,点击下载RDP
文件,下载后的RDP
文件点击连击。
#4、 尝试使用Azure portal中的跳板机Bastion
进行远程连接。结果:最终失败
操作步骤同上述#3,进入到Connect菜单后找到Bastion后,点击Use Bastion按钮,进行登陆,但是在跳板机窗口中进行连接的时候依然提示:This service allows sftp connections only.
错误,无法连接。
#5、 尝试使用Azure 虚拟机的 root用户进行登陆或者sftp登陆替换文件操作。结果:最终失败
很遗憾Azure默认不会开启root用户给使用者,在操作之前也没有进行root的设定,查找了相关资料,都是默认没有开启root账号,需要人为设置root用户及密码。因为没有root用户,这个尝试最终失败。
操作到这里的时候,心里凉凉了一半,感觉已经无力回天了,基本只剩下了,给Azure客服打电话,尝试重置虚拟机,或者新建一台虚拟机操作了。
#6、 尝试给Azure客服打电话 / 或者起工单。未成功
官方网站找到客服电话:400-886-6134
,手机拨打的时候已经是晚上8点以后,超过客服服务时间,心里更将凉了。工单没有起,参照以前的经验,如果给Azure起工单,会花费非常久的时间后才会答复。
#7、 尝试重新部署虚拟机。结果:最终失败
同样在Azure portal中找到重新部署虚拟机服务,进行重新部署操作,重新部署成功,但是最终连接依然失败。因为Azure的重新部署服务会保留机器的配置和资源,这样你更改过的sshd_config
文件并没有经过重新部署而重置更新。
#8、 重新创建新的虚拟机,在移动出来里面的数据。可行,未操作
多次尝试失败后,想到了最差的方式来处理,那就是重新创建虚拟机。
大致的步骤是 step1:剥离出可插拔的硬盘disk。step2:备份出OS盘符下的有用数据。step3:删除既有的虚拟机(释放出当前endpoint的ip)。step4:创建新的虚拟机,并且关联原有endpoint的ip和可插拔的硬盘disk。step5:启动新虚拟机,进行mount挂载硬盘。
首先此种方法是可行的,在之前有这样操作过,但是该过程影响较多,需要和team内进行沟通,评估影响,并且需要得到相关lead的approval。
#9、 使用Azure的 Serial console操作。结果:成功
在即将放弃的时候,找到了Azure 虚拟机里面的一个服务:Serial console
,如下图,进入到后会提示输入用户名和密码,进入后和SSH连接vm几乎一模一样,最终使用vm重新设置sshd_config
后成功开启SSH连接。
#10、 使用Azure的系统备份进行还原。结果:可行,未操作
这个其实是我最早想到的方式,但是打开Azure portal后发现该虚拟机未开启自动备份功能,压根就没进行备份,非常之悲剧,所以这个在这次事件中未操作成功。但是如果你的机器有自动备份,那么可以利用恢复解决。
最后总结:经历了这次的惊心事件后,自己非常反思了这件事情,还好Azure有自己的一个连接工具方式(第#9种),让你可以连接到VM里面,如果没有那么将要耗费精力来进行恢复。新的Azure机器一定要开启备份,建议在做一些有风险的操作的之前进行备份一次,出现问题可以还原回去。另外关于Azure的VM,可以考虑开启root用户。
如果是AWS的EC2遇到了同样的问题可以参照:EC2 被鎖住不能使用 SSH 登入 怎麼辦?
注:本文原创由 bluetata
发布于https://bluetata.blog.csdn.net/、转载请务必注明出处。
[Azure - VM] 解决办法:无法通过SSH连接VM,解决错误:This service allows sftp connections only.相关推荐
- 【ssh连接】解决网络突然断线进程执行中止问题
[ssh连接]解决网络突然断线进程执行中止问题 会话与进程 解决方案 - tmux 使用Tmux的最简方案 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简 ...
- 虚拟机已经显示了已连接的图标但不能上网的解决办法+虚拟机显示网络连接激活失败
虚拟机已经显示了已连接的图标但不能上网的解决办法+虚拟机显示网络连接激活失败 问题叙述 解决办法 问题叙述 解决办法 1.https://blog.csdn.net/big_rotor/article ...
- 【电脑配置】三、解决ubuntu16.04系统无法连接wifi的错误
电脑配置之解决ubuntu16.04系统无法连接wifi的错误 目录 电脑配置之解决ubuntu16.04系统无法连接wifi的错误 前言 一.检查内核版本和网卡驱动 二.升级内核 1.手动下载所需内 ...
- 微信公众号开发redirect_uri 参数错误 的解决办法,Oauth2授权重定向域名参数错误解决办法
问题概述 关于这个问题,博主是在进行微信公众号开发过程中获取微信公众号CODE用于下一步验证获取openid和access_token时遇到的, 回调地址: " https://open.w ...
- debian 10安装ssh依赖openssh-client版本错误的解决办法及开启ssh远程登录设置
安装 apt-get install openssh-server出现以下情况: 下列软件包有未满足的依赖关系: openssh-server : 依赖: openssh-client 依赖: ope ...
- linux服务器自动断开,解决centos7服务器用ssh连接老是自动断开问题
最近自己买了个服务器,用ssh连接时一段时间不操作就要重新连接,让人很是麻烦.现在终于解决了,步骤很简单. 登陆服务器后输入 lsb_release -a 可以查看系统版本,此命令适用于所 有的lin ...
- ssh连接超时解决方法
ssh连接超时,主要有以下三种方法来解决: 1.修改server的/etc/ssh/sshd_config,添加下面两个选项: ClientAliveInterval 60 //server每隔60秒 ...
- windows event log 错误2 的解决办法(电脑网络连接图标消失的罪魁祸首)
电脑开机右下角发现网络连接图标消失,电脑无法连接网络,定位问题后发现是前置的windows event log服务未启动导致网络连接无法正常运行 但手动启动windows event log服务时,提 ...
- mysql关键字冲突解决办法_mysql 关键字 及关键字冲突解决办法
关键字 https://www.cnblogs.com/Z-Fanghan/p/6892944.html 现在使用navicat图形界面或者Hibernate做映射生成表的时候,渐渐的会忽视掉关键字这 ...
- win7 php乱码,打开网站php出现乱码问题的解决办法nsiserror解决办法win7黑屏解决办法龙之谷报错解决办...
问题:用浏览器打开写好的php文件,然后发现中文字符显示为问号,网站显示不正常 原因:出现乱码的问题的原因是数据库,浏览器和php文件采用的编码方式不相同 解决办法: 1.浏览器编码方式修改:(以谷歌 ...
最新文章
- 360浏览器5兼容模式吗_Vue-cli项目,打包生产模式,部分用户360浏览器极速模式下奔溃...
- Node.js链式回调
- go语言学习笔记(2)命令源码文件
- 这个宝藏工具,会给你一种黑客般的感觉
- mysql 单数据库设置编码,mysql数据库编码设置
- 如何将div与页面的中间(水平/宽度)对齐[重复]
- html页面转pdf
- 2018 Multi-University Training Contest 1
- 从零开始--系统深入学习IOS(使用Swift---带链接)
- Ubuntu 20.10 wine、微信、QQ安装教程
- 【开发工具集】显示设备驱动程序列表——DriverView
- 曲师大教务系统服务器,曲阜师范大学掌上教务
- HBuilderX运行到手机或模拟器提示没有找到设备
- 移动硬盘和电脑内置硬盘使用时的区别
- 网易云热歌榜歌名与热评的高频词抓取及词云制作
- 蓝牙AOA融合蓝牙信标定位系统的实现
- adobe cs5 indesign 不显示文本框_Adobe CS5 InDesign自动添加页码
- 宝捷信注塑机PS系列采集方案
- 关于新高考中综合素质评价的思考
- 【Python打包成exe方法】——已解决导入第三方包无法打包的问题​