windows的Ubuntu子系统ssh和ftp
一般来说,对Linux的服务器,我们会使用ssh和ftp来进行交互,通常是xshell以及xftp两个软件。
但是很多时候,我们可能并没有Linux服务器,这个时候其实自己的个人电脑也可以勉强成为Linux服务器:
- 其中mac的话,本来就是有终端,大部分Linux的命令都是可以无缝切换到Mac的终端,而且ngs相关的数据分析软件可以比较方便安装上去,见:
- 但并不是所有人都有Mac电脑,假如你的是Windows,也可以看:win10新特性,ubuntu子系统(安装及配置) 教程,很容易开启你电脑里面内置的Ubuntu子系统。
如果要与你的windows的Ubuntu子系统进行交互,首先必须要知道windows的Ubuntu子系统的IP地址。
首先查看的IP地址
因为我们开启的windows的Ubuntu子系统,其实就是Windows10的一个可执行linux命令的窗口,所以是同一个ip地址,在Ubuntu子系统的终端使用sudo下载安装两个工具包:
sudo apt install net-tools
sudo apt-get install openssh-server
然后在Ubuntu里面使用 ifconfig 命令查看,如下:
jmzeng@DESKTOP-D7COBEK:~$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 1500
inet 127.0.0.1 netmask 255.0.0.0
wifi0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.108 netmask 255.255.255.0 broadcast 192.168.0.255
在windows电脑使用ipconfig查看
IPv4 地址 . . . . . . . . . . . . : 192.168.0.108
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.0.1
如果你是使用自己的windows电脑来连接它内部的Ubuntu子系统,那就使用 127.0.0.1,如果你是使用跟你的windows电脑在同一个路由器下面的其它电脑来ssh连接它,就使用这个windows电脑的内网IP即可。
修改这个windows的Ubuntu子系统ssh协议的端口
因为windows自己的22端口被占用,所以必须要修改这个windows的Ubuntu子系统ssh协议的端口,我这里参考 https://www.jianshu.com/p/bc38ed12da1d/ 的配置代码:
# 1.安装ssh(一般不需要这步,前面已经安装过了)
sudo apt-get install openssh-server
# 2.修改配置文件
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo vim /etc/ssh/sshd_config
#=======(修改以下选项内容)=========#
Port 222
AddressFamily any
ListenAddress 0.0.0.0
PasswordAuthentication yes
#================================#
# 3.启动ssh
sudo service ssh restart
# 4.如果提示“sshd error: could not load host key”,则用下面的命令重新生成
rm /etc/ssh/ssh*key
dpkg-reconfigure openssh-server
然后就可以很容易使用xshell软件连接它了,因为是自己连接自己,所以使用 127.0.0.1 这个IP即可,它代表localhost电脑,就是自己的电脑,设置如下:
不过,一般来说,自己的windows电脑没有不要去连接自己的windows的Ubuntu子系统,因为本来就可以直接登录终端。成功连接后如下:
大概率是同一个路由器的其它工作电脑来连接它,就使用 192.168.0.108 这样的内网IP 咯。
- WCF中的Binding模型之六(完结篇):从绑定元素认识系统预定义绑定
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(57)-插件---ueditor使用
- 何为正则表达式?要他有何用?
- 向silverlight传递自定义参数
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(87)-MVC Excel导入和导出
- sl从程序集中读取xaml文件
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇]
- 如何解决打开VS2010后没有UI界面的问题
- RadRails1.0降临——增加Profiler、CallGraph Analyzer和Rails Shell等新特性
- Rails存储库从SVN转向Git
- 报告称10后已变成出境游“老司机”屌丝80后:我还没出过国
- 担心人工智能取代你的工作?听听微软科学家怎么说!
- Radiant: 基于Ruby on Rails的内容管理系统
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux超能力BPF技术介绍及学习分享(技术创作101训练营)
- 已创建好的vue项目引入vuex
- 【Mysql学习之旅-2】经典sql面试题及答案分析
- 【Mysql-3】条件判断函数-CASE WHEN、IF、IFNULL详解
- Linux设备树语法详解
- 【Mysql进阶-2】图文并茂说尽Mysql索引
- 1.8W字|了不起的 TypeScript 入门教程(第二版)
- 【Mysql进阶-3】大量实例悟透EXPLAIN与慢查询
- 基于helium自动化测试的方法进行代码仓库梳理和备份
- 【SpringBoot注解-5】web项目相关注解
- rxjs里的Observable对象如何消费
- 正则表达式入门
- (在模仿中精进数据可视化02) 温室气体排放来源可视化
- ROS机器人URDF建模
- 这是我见过最牛逼的Shell,619行代码!