精华内容
下载资源
问答
  • 之前xshell连接虚拟机都是没问题的,但是今天出现了连接不上的情况 经过排查,这么一种原因可能大家不容易注意,我在配置另外一台虚拟机的时候,对虚拟网络编辑进行了还原默认配置,导致子网地址发生了改变,子网...

    首先保证虚拟机ip地址存在
    在这里插入图片描述
    之前xshell连接虚拟机都是没问题的,但是今天出现了连接不上的情况

    在这里插入图片描述
    经过排查,有这么一种原因可能大家不容易注意,我在配置另外一台虚拟机的时候,对虚拟网络编辑进行了还原默认配置,导致子网地址发生了改变,子网地址前三项一定要和虚拟机ip对应,这样才能连接本机。
    在这里插入图片描述
    修改地址后连接成功
    在这里插入图片描述

    展开全文
  • xshell连不上虚拟机

    2020-01-10 15:35:23
    最近百度了很多方法,但是都没有效果! 若是: 1、端口号没有被占 2、ssh已经启动 3、还原虚拟机的默认设置 点击虚拟网络编辑器 点击更改设置、重新打开 点击还原默认设置后还是管用! 那你就得注意...

    最近百度了很多方法,但是都没有效果!

    若是:

    1、端口号没有被占

    2、ssh已经启动

    3、还原虚拟机的默认设置

    点击虚拟网络编辑器

    点击更改设置、重新打开

    点击还原默认设置后还是不管用!

    那你就得注意你的这俩是否显示已连接

    要是没有基本上就是下面的这个方法了!!

     

     

    现在开始介绍新方法:

    右击打开网络和internet设置

    看看有没有这俩!,没有的话就说明是虚拟机被搞坏了!

    这个:https://blog.csdn.net/liouxiaozhou/article/details/78482242

    展开全文
  • 配置完成之后,可以ping通着两个虚拟机ip,但是xshell连不上。 2.win10和虚拟机的防火墙都是关闭的。 其他博客上很多方法,比ssh服务没有开启,22端口没有处于监听状态。还有修改配置文件的。这些都解决不了...

    1.我是配置了双网卡和静态ip.配置完成之后,可以ping通着两个虚拟机ip,但是xshell连不上。
    2.win10和虚拟机的防火墙都是关闭的。
    其他博客上有很多方法,比ssh服务有没有开启,22端口有没有处于监听状态。还有修改配置文件的。这些都解决不了问题。
    既然常规办法不能解决问题,那只能重头再来,再搞一边。

    相同的流程我操作过一次,配置好之后,是不用修改ssh的配置的文件。那就快刀斩乱麻吧!
    3. 把自己设置虚拟的网络编辑器还原默认设置,再设置一次,把网段设置虚拟机里配置文件已经配置好的。 在这里插入图片描述在这里插入图片描述4.现在可以连上了,不过NAT模式可以连上,主机模式的是连不上的。
    更坑的是,虚拟机ping主机和外网都ping不通的,xshell连接过程也是比较慢的,先这样吧,开始搬砖了。
    在这里插入图片描述

    展开全文
  • Xshell root连接时linux时提示ssh服务器拒绝了密码 ... 比如,你系统配置了和主机同一网段下的静态ip,但是虚拟机网络设置是nat模式 解决办法:把虚拟机网络模式改成桥接模式 排查思路 客户端软件或软件...

    问题

    用Xshell root连接时linux时提示ssh服务器拒绝了密码

     

    常见原因

    1.sshd服务没有打开

    2.sshd设置了不允许root用户用密码远程登录 

    2.防火墙阻止了22端口

    4.虚拟机网络设置有问题,我曾经遇到过这种情况。 比如,你系统配置了和主机同一网段下的静态ip,但是虚拟机网络设置是nat模式

    解决办法:正确设置虚拟机网络模式,如果你想让虚拟机和宿主机在同一网段,网络模式应该为桥接。

     

    排查思路

    • 客户端软件或软件配置问题
    • 客户端网络问题
    • 中间链路问题
    • 云盾、ECS 安全组或系统内 iptables 等安全配置问题
    • Linux 系统 PAM 安全模块配置问题
    • Linux 系统环境配置问题
    • SSH 服务及参数配置问题
    • SSH 服务关联的目录或文件的属性配置问题
    • SSH 服务密钥配置问题

    排查命令

    ssh  -vvv

    一个有意思的SSH登陆案例

    链接:https://yq.aliyun.com/articles/540769?spm=a2c4e.11153959.0.0.6af927eeZAhwyC

    问题现象:

    通过控制台管理终端可以登陆到系统内部,ssh登陆提示密码不正确,无论修改成什么密码,ssh都提示密码不正确。

    在问题排查之前,我们先看下SSH 登录关联因素示意图:

    问题排查:

    1. 确保密码正确性:

    尝试手动修改密码(通过管理终端执行passwd命令修改,我有轻微强迫症,密码还是自己改一下觉得可靠些),修改密码后对比/etc/shadow里面root用户的密文确实有变化,但是SSH依然无法登陆,提示密码不正确,而系统日志/var/log/secure日志也仅有一条failed passwd的提示 (也可以通过退出管理终端重新登录进行验证)
    PASS

    2. 排除网络干扰因素:

    通过管理终端在系统内部执行 ssh root@localhost,(排查了系统加载的模块lsmod,没有安全狗,云锁之类的模块,hosts.deny,iptables也不存在问题) 
    PASS

    3. 检查配置文件:

    查看ssh配置文件,对比正常的文件也没有发现明显异常   
    PASS

    4. 空密码验证:

    清空root密码并允许空密码登陆ssh,本机以及外部测试依然提示密码不对  
    PASS

    5. 登陆模块排查:

    视线回归到ssh的登陆过程,空密码提示密码错误说明实际并没有到密码验证的阶段,应是/etc/pam.d下面的验证模块(常见如 system-auth ,passwd,login,sshd等)的问题  
    FAILED

    确认原因:

    排查过程中发现/etc/pam.d/sshd文件为空,找一台同系统版本的实例对比恢复,测试后恢复正常

    疑问:

      为什么/etc/pam.d/sshd文件为空就一直提示密码不对呢?
      这个文件的内容又是什么?    
      SSH登陆验证的顺序是怎样的 ?

    探秘:

    为了排查这个问题,我们需要先了解一下什么是PAM?

    PAM(插入式验证模块(Pluggable Authentication Module,PAM))
    简单来说,就是提供了一组身份验证、密码验证的统一抽象接口,应用程序员可以使用这些API接口来实现与安全性相关的功能,例如:

    • 1) 用户验证
    • 2) 数据加密
    • 3) LDAP

    PAM 模块的基本流程

    PAM 模块是按模块类型归类的。任何给定的模块至少要实现四种模块类型功能之一:

     

    • 1. 验证模块(auth): 用于验证用户或设置/销毁凭证
    • 2. 帐户管理模块(account): 将执行与访问、帐户及凭证有效期、密码限制/规则等有关的操作
    • 3. 会话管理模块(session): 用于初始化和终止会话。
    • 4. 密码管理模块(password)将执行与密码更改/更新有关的操作

    我们看下这个文件的内容(/etc/pam.d/sshd):

    #%PAM-1.0
    auth       required    pam_sepermit.so
    auth       include      password-auth
    account    required     pam_nologin.so
    account    include      password-auth
    password   include      password-auth
    # pam_selinux.so close should be the first session rule
    session    required     pam_selinux.so close
    session    required     pam_loginuid.so
    # pam_selinux.so open should only be followed by sessions to be executed in the user context
    session    required     pam_selinux.so open env_params
    session    required     pam_namespace.so
    session    optional     pam_keyinit.so force revoke
    session    include      password-auth

    做一个小实验,修改/etc/ssh/sshd_config中的验证方式

    UsePAM=yes/no 
    PasswordAuthentication=yes

    在清空/etc/pam.d/sshd以及PasswordAuthentication=yes的情况下:

    1. 设置UsePAM=yes,提示验证失败(实际验证的时候发现不同的系统版本提示不太一样,客户端是Authentication failed.secure日志有所不同,failed passwd ,pam提示都有)
      1
    2. 设置UsePAM=no,使用正确的passwd登录成功
      2

    通过这个测试可以确定,当开启UsePAM的时候,先去找验证模块,由验证模块决定下一步的验证

    (如/etc/pam.d/sshd文件里面的auth include password-auth)即使密码是正确的,如果验证模块自身有问题也无法登录

    即PAM检验的优先级高于PasswordAuthentication(密码验证)

     

     

    SSH登录提示Permission Denied的排查

    链接: https://yq.aliyun.com/articles/594675?spm=a2c4e.11155435.0.0.58984394D8wq8q

    背景

    用户反馈使用密码无法正常登录,提示“Permission Denied”,需要重置密码后才能正常,而相同的密码在一个月前能正常登录,一共有两台实例有这样的现象。

    分析

    一般来说,类似问题可以从几个方面来考虑可能性:

    • SSH server配置问题
    • 服务器密码被改动过或者密码相关配置文件被改动过
    • 通过远程或者VNC的方式键入密码传递到系统内时候发生了变动
    • 记错密码

    以上几点我们一一进行排查,由于要保留现场,无法重置密码后再登录查看,我们可以通过将系统盘快照做成云盘来绕过登录的环节,从而进入系统。

    挂载快照盘,我们通过chroot进入系统,要定位是否密码有改动或者配置文件有变动,我们首先通过stat查看/etc/ssh/目录下各文件,从mtime/ctime时间戳来看,最近的改动在一年多前,说明sshd如果是读取的正常路径配置文件,那么用户名和密码以及sshd相关配置都没有被改动过。

    299f73ad7ea0f5b70ee17d4bfcad24eca3276e96

    单方面看MAC时间可能说服力不够,我们通过查看配置文件和对比测试进一步说明sshd正常工作且服务器端没有改动:

    • 实际查看/etc/ssh/sshd_conf配置文件,发现是保持的默认配置,没有异常改动。
    • 有快照的前提下,尝试修改密码/重置密码,之后再登录发现可以正常登录。

    以上排查验证了服务器端没有改动且sshd工作正常,为了验证是否输入密码到sshd读取过程是否存在异常,我们挂载快照盘并chroot进入系统,通过strace来跟踪sshd进程以及其fork出的进程,之后通过ssh自己系统来规避网络上的影响。我们可以看到输入的密码在被读取时候并没有发生改变。也能从strace输出中了解到去读取的配置文件是正常路径的配置文件。说明输入的密码在验证之前也没有被修改过。

    基于以上信息,我们基本可以肯定是用户密码记录存在问题。但用户也表示从数据库读取的,期间没动过数据库,应该不会出现问题,那么为了更进一步说服用户,我们可以考虑实际验证一下用一样的办法加密密码明文后获取的信息是否和/etc/shadow里记录的一致。

    我们知道密码加密后的口令存储在/etc/shadow文件里,那么我们来看一下/etc/shadow文件里的口令存储形式,以CentOS 7.2为例:

    root:$6$KqCVFlfd$vAARGaFcI5mNWGoOSJeE87ZrI5anStEWZYRz6EkrvXRSuD7X1teJwrWvC2a3YQRSeKuDaqmuN5ScinV/fvOyy0:17497:0:99999:7:::

    这里引用wiki的注解:

    • User login name

    • salt and hashed password OR a status exception value e.g.:

      • "$id$salt$hashed", the printable form of a password hash as produced by crypt (C), where "$id" is the algorithm used. (On GNU/Linux, "$1$" stands for MD5, "$2a$" is Blowfish, "$2y$" is Blowfish (correct handling of 8-bit chars), "$5$" is SHA-256 and "$6$" is SHA-512, other Unix may have different values, like NetBSD. Key stretching is used to increase password cracking difficulty, using by default 1000 rounds of modified MD5, 64 rounds of Blowfish, 5000 rounds of SHA-256 or SHA-512. The number of rounds may be varied for Blowfish, or for SHA-256 and SHA-512 by using e.g. "$6$rounds=50000$".

      • Empty string – No password, the account has no password (reported by passwd on Solaris with "NP").

      • "!" – the account is password locked, user will be unable to log in via password authentication but other methods (e.g. ssh key) may be still allowed.

      • "*LK*" or "*" – the account is locked, user will be unable to log in via password authentication but other methods (e.g. ssh key) may be still allowed.

      • "!!" – the password has never been set (RedHat)

    • Days since epoch of last password change

    • Days until change allowed

    • Days before change required

    • Days warning for expiration

    • Days before account inactive

    • Days since epoch when account expires

    这里我们主要需要关注的部分是$id$salt$hashed,其中$id是加密算法,$salt是混入加密算法的盐,$hashed是经过加密算法hash对应密码和盐的结果。

             ID  | Method

    ─────────────────────────────────────────────────────────           1   | MD5           2a | Blowfish (not in mainline glibc; added in some Linux distributions)           5   | SHA-256 (since glibc 2.7)           6   | SHA-512 (since glibc 2.7)

    这种场景加密过程就是将密码通过加密算法计算得到一个hash串,从hash串是无法反推出密码的。而加入盐的目的是增强加密复杂性,规避一些强行破解的办法。

    具体加密算法介绍可以参考:https://en.wikipedia.org/wiki/SHA-2

    在实际设置密码过程中,salt是随机生成的,shadow文件记录加密算法、salt以及加密后hash串,而当有用户登录时候,会将输入的密码与shadow文件中salt基于加密算法重新计算一次然后跟hash串比对,如果相同,则说明密码正确。

    我们有了算法和salt后,那么就可以实际验证用户提供的密码加密后的hash串是否跟shadow文件中对应用户的hash串相符。

    RHEL 6 and newer - python • Execute the following one-liner: $ python -c 'import crypt,getpass; print crypt.crypt(getpass.getpass())' Password: $6$Q3dbIWgPMCVBpRZK$QSw1cG41FImM0E8B.Hpx1G8eZGqHALzGg75LLAt.MkFZtVma3MHRGBpFSrXEEdVHwySr8B0JfXAgLHgmpSViI0

    In short, the above will prompt for input and then interface with python's implementation of the standard crypt() function, generating a shadow-compatible hash by choosing a random salt and the strongest hash method available (SHA-512) • For documentation, do as the following demonstrates $ python Python 2.6.6 (r266:84292, May 1 2012, 13:52:17) [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2 Type "help", "copyright", "credits" or "license" for more information.

    import crypt help(crypt)

    RHEL 5 and newer - perl • Execute the following one-liner: $ perl -le 'print "Password:"; stty -echo; chomp($passphrase=); stty echo; @chars = ("a".."z", "A".."Z", 0..9, ".", "/"); $salt .= $chars[rand @chars] for 1..16; print crypt($passphrase, "$6$$salt");' Password: $6$RDGTu1VHQPH2NLpw$no4LMowmxaJogzYoIUdsfi7pfTz2EtzN//oRmEe12AEWc2h6NPoQwrWA4KYe4W0OSAUaBLOG8K59kzENV2bvY0 • Notes on the above perl code: ○ This code was tested by the author on RHEL 5 - RHEL 7; however, it is offered without any guarantees or warranty (to use it, ensure the quotation marks and backslashes are kept intact) ○ This code generates a SHA512-hashed password string; to use SHA256 instead, change the maroon-colored $6 to a $5

    *以上为RedHat给出的模拟方式

    为了让数据更有说服力,我们先要验证加密办法是对的,通过类似方法加密的信息能正确跟shadow文件里存储的信息对的上。

    e41143656a1f28057f56a48cc0a252895add33c1

    验证符合后,我们进一步验证用户提供的密码信息。发现从用户提供的密码来正向获取hash串后跟shadow里root的不匹配,由此进一步说明了是用户提供的密码存在问题。

    # cat /mnt/etc/shadow root:$6$D9.mVsWm$W9XlxzRHWU6B6KFNaPZQPCkXF0GrL.Cq.zzx2H24qaDC4bphDFZqZtD5G.t1Rz1cegl2tyQAdx9W6iBoJTANc.:17013:0:99999:7::: # python -c 'import crypt; printcrypt.crypt("Spidermanwsx123","$6$D9.mVsWm")' $6$D9.mVsWm$Y8rVe1915SlIkdwOloHhFedpW2MZ7xYOYHy69jXOoZqyodDm5WJOBP4P/EeLP1BjJlibHwovaHqawTWD05c6o1

     

    展开全文
  • 开始学习linux一段时间了, 一直在ubuntu里面捣鼓命令...1、虽然下载ubuntu能够正常输入命令,net连接使用网络正常,但是确实没 2、虚拟网络配置器,这是我现在正常的图,之前是没又VMnet0,主机连接全是--...
  • Xshell root连接时linux时... 比如,你系统配置了和主机同一网段下的静态ip,但是虚拟机网络设置是nat模式,解决办法:把虚拟机网络模式改成桥接模式 客户端软件或软件配置问题 客户端网络问题 中间链路问题 云...
  • 没出现下面这个则xshell连接不上虚拟机。 需要打开网络连接里的vmnet8的适配器才会这个。所以必须打开vmnet8,但是打开vmnet8会与锐捷冲突。 不能启用多个网卡,未解决 转载于:...
  • 所以 我时候 来链接不上虚拟机 我就把 Vmnet 8重启,但是 每次很麻烦 所以我仔细研究下 更改自动活跃点 让vmnet8网络优于 vmnet1 右击属性 取消勾选自动跃点 我这里设置为10 这样就可以优先使用VMnet8网络 ...
  •  还有一次,麻烦公司同事远程协助,虚拟机通过桥接方式,连上了。但是,关机后次日又上不了。  好的,以下是截图,将问题附上:    SSH安装,并且开启了。    防火墙未启动。     ...
  • 总是连不上,出现这种情况的原因可能很多,像百度上面说的没有关闭linux的防火墙,没有启动linux的ssh服务。但这些方法都依次试过,还是无法连接。最后找到了连接办法如下。 最后将网络的NET模式改成桥接模式就好...
  • 但是使用xshell连接时连接被拒绝(linux虚拟机网络设置的是自动连接),测试时发现linux虚拟机可以ping通本地电脑,但是反过来不行,后来发现是由于虚拟机被分配的ip地址问题,只需要将ip地址设为自动获取后问题...
  • 本机ssh连接不上虚拟机的问题

    万次阅读 2018-06-10 09:40:10
    之前连接的好好的,突然xshell连接虚拟机就连接不上了找了一顿,发现问题。我们本机都2个网卡 无线的和有线的 以太网适配器就是你的网卡网线用的,无线局域网适配器是你的无线网卡WIFI用的,如下图,他们都...
  • 该日记写于2016年11月28日。在用Xshell5连接ubuntu虚拟OS时一直连接不上。出现这种情况的原因可能很多,...如果虚拟机的网络连接为NAT连接,则会出现ping ip可以ping通,但是Xshell就是连接不到虚拟的linux系统。vm...
  • CentOS6.5设置静态IP后没或连接xshell首先静态IP设置完成解决方法如下 首先静态IP设置完成 时候我们搭建hadoop平台为了方便记住IP,我们往往把ip地址设置成静态ip,但是往往设置静态IP后,局域网内可以ping...
  • 现在正在学习SpringBoot 项目,想要把SpringBoot项目...1. 虚拟机关于网络的设置,选择的是桥接模式,之前是默认设置,但是连不上。不确定是不是跟这个关系2. Ubuntu 虚拟你要安装SSH 。 测试是否安装 ps -ef |...
  • 时候突然遇到这样的问题,主机和虚拟机都能ping通,但是就是连不上CRT或者Xshell。解决如下: 第一步:打开 网络: 第二步:打开网络共享中心 第三步: 第四步:右键点击V8网络禁用,然后在重启: 第五步:打开...
  • 其中上网找了各种教程,想请教人也找不到(无奈国庆,认识大佬太少),经过我的努力还是解决了,但是仍然保持一点疑问, 因为时候网卡设置好了可能过几天打开虚拟机也是连不上xshell的 让我非常纳闷 !不过今天...
  • 时候使用xshell连接不上虚拟机,但明明刚才还可以上的,这个时候我通常是重启一下网卡,然后就可以上了 servicenetworkrestart 但是今天用这个的时候, Job for network.service failed because the ...
  • shell连不上linux服务器的解决办法

    千次阅读 2016-08-17 15:04:05
    问题描述:视频中输入ifconfig命令,显示eth0和lo,但是自己在虚拟机中并非得到这样的结果,而是只有lo,即网卡未启动,也没有ip,无法用Xshell远程连接。 解决方案: 1. 进入/etc/sysconfig/network-...
  • 关于虚拟机ping不通,还有网络连接处未 VMnet1 和 VMnet8 ,导致 Xshell 和 Xftl 连接不上虚拟机的解决方法很多,其他博主的方法我也尝试过,但是都没有解决问题。以下内容我感觉是属于暴力的方法了,哈哈哈~~~ 先...
  • centos 7.0远程登录

    千次阅读 2018-03-16 21:02:33
    linux在虚拟机上操作确实是挺方便的,免去了装双系统的烦恼和面临一些新手操作失误导致的系统崩溃的局面,但是使用虚拟机操作起来也是许多不便之处的,光标就是其中一个问题,此时采用远程登录linux用户就可以使...
  • 早上xshell连不上虚拟机了,后来我发现没有inet,又不想返回快照,捣鼓了一上午,发现从桥接转为NAT了inet但是ping不通外。解决方法:还是桥接先用dhclient eth0获取IP地址, 然后运行ifup eth0 就会看到eth0...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

虚拟机有网但是xshell连不上