使用XShell、XFTP 连接 win7 虚拟机(windows、Linux无法远程登录问题) |
您所在的位置:网站首页 › 教育优惠一般几月份 › 使用XShell、XFTP 连接 win7 虚拟机(windows、Linux无法远程登录问题) |
文章目录
前言出错原因(题外话)那么我们为什么要使用 SSH 连接开始操作(Windows7)首先进行 SSH 测试获取所需的openSSH文件安装openSSH添加环境变量ssh测试发布ssh服务
开始操作(Linux,以Ubuntu为例)
前言
(更新:可以通过此文章解决三个问题:使用Windows/linux远程连接Linux或Windows,但无法连接,可以对Windows检查ssh,对Linux检查sshd) 首先,你看到这篇文章的原因可能是如下两个(此篇我们以Windows7为例,因为win10ssh一般是开着的): 还没有尝试使用 [XShell 连接 Windows 7 系统(此篇文章针对 Windows7 虚拟机,但如果主体电脑是 Windows 7 系统作为服务器的话,原理也应该是差不多的)。尝试使用 XShell 连接了 Windows 7 系统,但是连接失败(是的,就是我 )。![]() OK,下面我们就开始解决该连接失败问题!!! 出错原因科普 tips:Linux 中查看网络状态使用命令 ifconfig(终端),Windows 中则使用 ipconfig(命令行) (使用XShell、XFTP连接虚拟机或者服务器教程 )
在 windows 上使用 ssh 协议是因为该协议通过 tcp22 端口,服务器、路由器、交换机、sftp 等不安全的程序通过该端口都可以用于帮助加强连接以防止窃听。目前 ssh 协议大多用在 linux 系统中,但 SSH 协议本身实际上是在各种各样的系统上实现的,虽然在 windows 操作系统中不是默认开启的,但开启后可以和 linux 操作系统一样简单方便的使用 ssh 协议来连接服务器等。 开始操作(Windows7) 首先进行 SSH 测试先在Windows中进行 ssh 命令测试,如果出现下面这样的结果,则继续阅读,否则可以跳过下面下载ssh 的步骤。(win+R输入cmd,回车,然后输入ssh) 在Windows7的浏览器(刚安装之后默认是IE)中的地址栏搜索:https://github.com/PowerShell/Win32-OpenSSH/releases 估计加载不出来,IE,你懂得,所以最好的方式是先打开www.baidu.com,然后搜索一款可以打开下载页面的浏览器(不知道为什么下载火狐的页面打不开,估计是IE的一些访问设置,搞起来挺累,我就直接下载了猎豹安全浏览器,后面再卸载就行),看下图,进去之后点击立即下载,然后选择运行或者保存即可。 等待时间可以下载个解压软件,推荐band.zip 更新:一个博主的方法,但是我没有进行准确度测试,稳妥就选我的方式,想玩玩儿的可以看一看试验下:提升访问github.com网址的速度 安装openSSH下载完成后进行解压,并把openSSH整个目录进行复制到 C:\Program Files (其实哪个目录都可以,不过建议安装在这里,免得出问题) 单击计算机,右键——>属性——>高级系统设置——>环境变量——>系统变量,在此框里面找到 Path 进行编辑, 将路径“C:\Program Files\OpenSSH-Win64”添加进去。 (没有计算机图标的可以桌面右键“个性化”——>“左上方更改桌面图标”——>选中计算机前的框——>应用,确定) 接着就可以进行ssh测试了(重新打开一个命令行窗口),出现下图输出证明安装成功!但是此时还是不能远程连接登录。 依次在命令行(在开始菜单下面输入cmd,然后选中右键“以管理员身份运行”)中输入以下命令(觉得麻烦可以在做该设置的虚拟机中的浏览器打开本文章直接copy): # #的部分均为注释部分,不用理会 cd C:\Program Files\OpenSSH-Win64\OpenSSH-Win64 #必须先转到我们之前加入到环境变量中的路径下,即:ssh的文件夹内部,不然后面的步骤会报错 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 #安装sshd服务 netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22 # 开放22号端口(如果你在windows关闭了防火墙并配置了入站规则可以不执行如下命令,多执行不影响) sc config sshd start= auto #配置开机自启动sshd服务 net start sshd # 开启服务以下为每一步的截图: OK!到这一步做完就差不多了,接着验证一下22号端口是否处于 listening 状态。 使用命令 netstat -an 连接的时候要是重复向你弹出SSH拒绝了密码之类的话证明要么是你用户名填错了,要么是你填的用户名没有设置密码(没错是我),记得回去重设密码再登录。 其实吧,SSH可以理解为client,sshd可以理解为server,因为咱们是用Windows去远程连接Linux系统,某种程度上说,被远程连接的这个机子就是咱们的服务器,所以sshd说是要打开的(不知道理解的对不对,我是这么感觉的) 此处操作均已Ubuntu为例,其他的Linux发行版可能shell命令会有所不同,但原理是一样的(为了防止意外错误,可以先转换到root用户下再操作,Ubuntu默认无root,使用 sudo passwd 设置新密码,然后使用 su root输入并新密码进入root用户 )。 检查ssh是否打开ps -e | grep ssh(在终端(terminal)中输入) 应该是没有ssh出现,因为出现了就证明你可以用xshell连接成功,或者问题不是这个 安装SSH(如果已存在则跳过该步骤) (1) apt-get 可以使用的情况下: 使用如下命令安装: su root //需要先切换为root用户下才有权限,已切换则不用 // 输入密码 // 一般情况下下面这两步操作是可以不做的 apt-get update //apt-get update是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。只是更新了apt的资源列表,没有真正的对系统执行更新 apt-get upgrade //进行升级, 过程中需要输入一次 y //进行安装 apt-get install ssh(2)如果发现在使用如apt-get install ssh 或者sudo apt-get install ssh 等一些命令时无法安装,出现 “unable to locate package xxx” 或是 “Unit sshd.service could not be found” 这样的错误,则使用下面的命令安装ssh //找一个存放ssh文件的目录 cd /home mkdir myssh cd myssh/ //安装 wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz //下载安装包 tar xzvf openssh-5.9p1.tar.gz //解压 此处的5.9版本无用在意,会自动在上一步的网址中下载最新版本,只需要输入open然后用tab键自动补全即可 cd openssh-5.9p1 //进入目录 //配置的过程我也是第一次尝试,不确定每一步的原理与结果,所以有的结果可能会有报错,此处只记录我的解决过程,反正结果是好的 ./configure ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib2 make make install //查看版本确定是否已经可用 ssh -V //此处应该是直接进行配置文件的设定的,但是此时打开所谓的 /etc/ssh/sshd_config 文件时发现内容很少,很多的配置都是不存在的情况,此时需要再次安装 sudo apt-get install openssh-server //安装ssh服务端 sudo apt-get install openssh-client //安装ssh客户端 systemctl status sshd //查看sshd的状态,在active可以看到绿色文字 running vim /etc/ssh/sshd_config //查看配置文件,将PermitRootLogin yes加上,查看一下就行,估计是有的,我反正没做这步操作,可跳过,如果后面的步骤不顶用,再回过头设置 //此时可以使用xshell等软件进行远程登录连接,应该是可行的 如果不行则重新启动(紫色字体部分) systemctl start ssh //启动ssh服务 ,使用 service sshd start 也一样 systemctl restart ssh //重启ssh服务 systemctl stop ssh // 停止ssh服务 // 设置ssh服务开机自启动 sudo systemctl enable ssh
参考文章: Linux中使用SSH服务远程连接Linux系统 window server如何卸载openssh 虚拟机上的各个端口号代表的意思 为什么在 Windows 上用 SSH 在Windows 10中打开远程桌面连接的5种方法 -File参数的参数’install-sshed.ps1‘不存在| powershell Windows7之SSH,安装OpenSSH实现SSH客户端及服务 Xshell7远程连接失败(connection failed)的问题解决 Linux系统下OpenSSH的安装及基本配置文件详解 Linux安装OpenSSH与SSL Unit sshd.service could not be found Ubuntu 无法连接xshell的问题 写在最后: 首先,如果本篇文章有任何错误,烦请读者告知!不胜感激! 其次,本篇文章仅用于日常学习以及学业复习,如需转载等操作请告知作者(我)一声! 最后,本文会持续修改和更新,如果对本分栏的其他知识也感兴趣,可以移步目录导航专栏,查看本分栏的目录结构,也更方便对于知识的系统总结! 兄弟姐妹们,点个赞呗! 感谢!笔芯! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |