[Azure - VM] 解决办法:无法通过SSH连接VM 解决错误 This service allows sftp connections only.

这篇具有很好参考价值的文章主要介绍了[Azure - VM] 解决办法:无法通过SSH连接VM 解决错误 This service allows sftp connections only.。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文主要针对 Azure VM 被锁住不能使用 SSH 登陆的解决办法。

在Azure的虚拟机中,想创建一个SFTP用户且想限制这个SFTP用户只能访问固定的目录,于是对sshd_config进行修改,在配置文件中增加了 ChrootDirectoryForceCommand Match UserAllowTcpForwarding 設定。

重启ssh服务后,造成所有User只能使用SFTP方式连接到VM,无法使用SSH连接到Server。


问题描述:

在Azure或者AWS误操作,禁用了SSH服务,造成不能连接到Server,出现如下警告信息:

This service allows sftp connections only.

[Azure - VM] 解决办法:无法通过SSH连接VM 解决错误 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文件点击连击。
[Azure - VM] 解决办法:无法通过SSH连接VM 解决错误 This service allows sftp connections only.


#4、 尝试使用Azure portal中的跳板机Bastion进行远程连接。结果:最终失败

操作步骤同上述#3,进入到Connect菜单后找到Bastion后,点击Use Bastion按钮,进行登陆,但是在跳板机窗口中进行连接的时候依然提示:This service allows sftp connections only. 错误,无法连接。

[Azure - VM] 解决办法:无法通过SSH连接VM 解决错误 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连接。
[Azure - VM] 解决办法:无法通过SSH连接VM 解决错误 This service allows sftp connections only.


#10、 使用Azure的系统备份进行还原。结果:可行,未操作

这个其实是我最早想到的方式,但是打开Azure portal后发现该虚拟机未开启自动备份功能,压根就没进行备份,非常之悲剧,所以这个在这次事件中未操作成功。但是如果你的机器有自动备份,那么可以利用恢复解决。


最后总结:经历了这次的惊心事件后,自己非常反思了这件事情,还好Azure有自己的一个连接工具方式(第#9种),让你可以连接到VM里面,如果没有那么将要耗费精力来进行恢复。新的Azure机器一定要开启备份,建议在做一些有风险的操作的之前进行备份一次,出现问题可以还原回去。另外关于Azure的VM,可以考虑开启root用户。


如果是AWS的EC2遇到了同样的问题可以参照:EC2 被鎖住不能使用 SSH 登入 怎麼辦?


:本文原创由 bluetata 发布于https://bluetata.blog.csdn.net/、转载请务必注明出处。文章来源地址https://www.toymoban.com/news/detail-502445.html

到了这里,关于[Azure - VM] 解决办法:无法通过SSH连接VM 解决错误 This service allows sftp connections only.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何配置azure AD 通过登录azure的账户密码登录Azure VM

    Azure vm 添加 Azure AD 通过邮箱的账户密码登录 首先创建一个虚拟机,并且勾选Azure AD的复选框。 将创建虚机生成的资源最好配置到同一资源组 例如: 在vm生成的全部资源所在的资源组下打开访问控制

    2024年02月09日
    浏览(38)
  • 【实例讲解】通过镜像还原后SSH、JupyterLab无法连接?

    已经释放的实例还能找回数据吗?​ 您好,实例释放后无法找回数据。 服务器CPU跑满了怎么办?​ 首先要查看是哪些进程/应用在消耗 CPU。 JupyterLab打不开是怎么回事?​ 通过镜像导入功能导入的镜像,默认不会安装 jupyterlab,如果需要安装 jupyterlab,请自行安装配置。 官方

    2024年01月23日
    浏览(25)
  • [ Azure - VM ] 虚拟机获取 root 权限及开启 root 账户的办法

    使用Azure在门户创建的VM用户进行登陆虚拟机后,该用户是没有 root 权限的,同时你在创建Azure用户的时候并没有提示设置 root 用户密码,本文会介绍如何使用默认登陆账户拥有 root 权限,及如何开启微软Azure云的 root 账户。 ** 注意:本文虽然是介绍如何开启,但是博主非常不

    2023年04月20日
    浏览(33)
  • 关于解决驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“sun.security.validator.ValidatorException:

    首先 如果你是在访问一个网站,可以通过可以通过导入证书的方式解决该问题。或者跳过ssl证书验证。这些操作步骤,其他博主已经写的非常详细了。在这里不做赘述。 如果你只是单纯链接一个本地数据库,却莫名其妙的出现了 驱动程序无法通过使用安全套接字层(SSL)加密

    2024年02月04日
    浏览(31)
  • IDEA报错:与目标 VM 断开连接, 地址为: ‘‘127.0.0.1:57599‘,传输: ‘套接字‘‘的完美解决办法

    安装IDEA后,启动项目后, 报错: 与目标 VM 断开连接, 地址为: ‘‘127.0.0.1:57599’,传输: ‘套接字’’ 查阅了百度上好多的说法,首先是觉得占用端口的问题,尝试将对应的端口干掉,然后重启,但并没有解决问题 而后与同事讨论,感觉是jdk版本太高的问题,声明这里用的

    2024年02月11日
    浏览(25)
  • Vscode ssh远程连接失败解决办法

    Vscode 通过remote - ssh连接远程ubuntu时出现\\\"192.168.x.x\\\" has fingerprint “SHA256:…”,如下图所示: 按照提示选择“continue”,然后输入正确密码却显示Permission Denied(以往连接都很顺利,没有出现过问题) 尝试根据报错提示找到解决问题的办法:   从输出的错误提示显示似乎是无

    2023年04月08日
    浏览(29)
  • 宽带连接出错误 出现797错误代码的图文解决办法

    ADSL MODEM电源没有打开,网卡和ADSL MODEM的连接线出现问题,软件安装以后相应的协议没有正确邦定,在创立拨号连接时,建立了错误的空连接 1、ADSL MODEM连接设备没有找到 2、检查电源、连接线 3、检查网络属性,RasPPPoE相关的协议是否正确的安装并正确邦定(相关协议) 4、是否

    2024年02月08日
    浏览(34)
  • SSH连接问题解决方案 - 服务器无法连接

    SSH(Secure Shell)是一种常用的远程登录和执行命令的协议,它提供了安全的加密通信通道。然而,有时候在连接Linux服务器时可能会遇到无法连接的问题。本文将为您提供一些可能的解决方案。 确认服务器状态 首先,您需要确认服务器的状态。确保服务器正在运行,并且网络

    2024年02月03日
    浏览(33)
  • SSH连接问题解决方案:服务器无法启动SSH服务

    在处理服务器管理和远程连接时,SSH(Secure Shell)是一个常用的工具。然而,有时候我们可能会遇到SSH启动失败的问题,导致无法通过SSH连接到服务器。本文将介绍一些解决SSH启动失败的常见方法。 检查SSH服务状态 首先,我们需要确认SSH服务的状态。可以通过以下命令检查

    2024年02月04日
    浏览(45)
  • 【已解决】解决Ubuntu&Kali无法进行SSH远程连接

    首先更新安装包 sudo apt-get update 下载SSH服务 sudo apt install openssh-server 查看SSH服务 service ssh status 打开 /etc/ssh/sshd_config文件修改配置文件 将PermitRootLogin参数改为yes,且删掉注释符# 重启SSH服务 service ssh restart 然后VPS远程登录靶机,发现成功登录 同样首先配置SSH文件,修改同样的

    2024年02月04日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包