0.安装SSH

>1.先使用netstat -tl或service ssh status查看ssh服务是否开启,如果没有开启,用service ssh restart开启,如果没有安装,使用sudo apt-get install openssh-server安装ssh.

>2.因为我安装的是Ubuntu server版本,查看防火墙的端口:发现没有任何端口来侦听外来侦听。

$sudo ufw default deny
$sudo ufw enable

通过第一命令,我们设置默认的规则为deny, 这样除非指明打开的端口, 否则所有端口默认都是关闭的。第二个命令则启动了ufw。如果下次重新启动机器, ufw也会自动启动。

然后开启22端口:
    

$sudo ufw allow 

PS:ufw是一个主机端的iptables类防火墙配置工具,比较容易上手。一般桌面应用使用ufw已经可以满足要求了。详细请看:UFW

现在可以通过下面命令来查看防火墙的状态了:

$sudo ufw status

这里是开启了22和21号端口。

1.安装FTP--VSFTPD

这里我要在我的虚拟机中搭建一个ftp服务器。其中可以使用系统的用户和密码可以登录.

>1.这里我选择使用vsftpd服务来搭建我的ftp服务器。首先检测Linux是否安装了vsftpd,其中有多种测试方式:通过 service vsftpd status ,来查看服务状态,

   如果没有安装vsftpd,则通过下面命令安装vsftpd:

$> sudo apt-get install vsftpd

>2.需要修改vsftpd的配置文件,你也可以先备份一个配置文件。

#备份vsftpd配置文件
$> sudo cp vsftpd.conf vsftpd.conf.old
$> sudo vi /etc/vsftpd.conf

anonymous_enable=NO     #这个表示不能匿名登录,必须是允许的用户登录,后边设置只有那些系统用户可以登录。默认为NO

local_root=/home/ftpuser    #这个在conf中默认没有,需要在文本最后加上一句。设置ftp目录是 /home/ftpuser

local_enable=YES      #表示本机也能访问,默认为yes

chroot_list_enable=YES     #开启用户登录列表

chroot_list_file=/etc/vsftpd.chroot_list   #这个文件是存放用户名称,例如我的 ubuntu 系统用户,表示Ubuntu这个系统用户可以登录ftp。

#这里需要/etc/vsftpd.chroot_list 这个文件,如果没有请新建:

$> sudo vi /etc/vsftpd.chroot_list

然后vi这个文件 输入ubuntu.

记住:因为新安装了ubunu server,在防火墙中没有开放21端口,所以需要开放21端口:

$> sudo ufw allow 

因为在安装vsftpd服务后,会自动开启了vsftpd服务。所以,更改完配置文需要重启服务:

$> sudo service vsftpd restart

最后本地测试:

$>  ftp 127.0.0.1

发现一个错误如下:

OOPS: vsftpd: refusing to run with writable root inside chroot() Login failed. 明显是登录失败。

解决办法:

因为配置 chroot_list_enable=YES和chroot_list_file=/etc/vsftpd.chroot_list的原因,在vsftpd.chroot_list不能有队 /home/ftpuser 拥有写权限。

所以更改Ubuntu对 /home/ftpuser的权限,只让root用户拥有这个文件夹权限:

$> sudo chown -R root:root /home/ftpuser

然后我们利用 ftp 127.0.0.1进行登录测试:

登录成功!

在win利用ftp,使用Ubuntu用户和密码进行登录,上传文件的时候发现不能上传成功!因为我更改了Ubuntu对ftp目录的写权限!

那怎么办?要不然这个ftp不就废了?

解决办法:

在 /home/ftpuser/下再创建一个目录,并给Ubuntu用户在这个目录下的全部写权限。

$> sudo mkdir /home/ftpuser/realfiles
$> sudo chown -R ubuntu:ubuntu /home/ftpuser/realfiles

如此一来,就可以在windows 下通过ftp上传文件到Linux机器上。

ubuntu14.04安装ssh和ftp的更多相关文章

  1. Ubuntu14.04安装配置web/ftp/tftp/dns服务器

    目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...

  2. Ubuntu14.04安装intel集显驱动

    Ubuntu14.04安装intel集显驱动 标签(空格分隔): ubuntu linux 驱动安装 1.查看本机显卡型号 使用lspci命令来获取PCI接口硬件信息 o@o-pc:~$ lspci ...

  3. Ubuntu14.04安装中文输入法以及解决Gedit中文乱码问题

    1 设置中文显示环境 1. 打开System Settings 2. 打开Personal-> Language Support. 会弹出如下对话框,提示你“语言支持没安装完整”. 点击“Rem ...

  4. Ubuntu14.04安装配置ndnSIM

    Ubuntu14.04安装配置ndnSIM 预环境 Ubuntu14.04官方系统 请先使用sudo apt-get update更新一下源列表 安装步骤 安装boost-lib sudo apt-g ...

  5. Ubuntu14.04 安装QQ国际版wine-qqintl

    Ubuntu14.04安装qq国际版方式: 首先下载,链接为:  https://pan.baidu.com/s/1boPitVD 密码:jp1j 也可去Ubuntu中文的Kylin(优麒麟)官网下载 ...

  6. 一.ubuntu14.04安装、亮度设置、显卡设置等一体化讲解

    一.ubuntu14.04安装 安装步骤很简单的,相信你只要知道并且决定安装ubuntu,你就不会在安装上有问题,下载网址 http://www.ithome.com/html/soft/81539. ...

  7. Ubuntu14.04安装samba

    Ubuntu14.04安装samba 按照惯例,首先介绍Samba.Samba是在Linux系统上实现的SMB(Server Messages Block,信息服务块)协议的一款免费软件.它实现在局域 ...

  8. Ubuntu14.04安装有道词典

    Ubuntu14.04安装有道词典之前要更新系统: sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade 在有道官网下载 ...

  9. ubuntu14.04 安装redis 2.8.9

    ubuntu14.04安装前准备工作,为了保证安装顺利,请先执行apt-get update 然后安装make 和gcc(已安装的可忽略) apt-get install make apt-get i ...

随机推荐

  1. 分享一款简单好用的HTML拼接工具

    今天分享一款很好用的字符串拼接工具,在前端开发中,经常需要我们去手动拼接HTML代码,如果你经常这么做,那么肯定会因为单双引号的问题弄得焦头烂额.有了这个拼接工具,妈妈再也不用担心我拼不好html代码 ...

  2. nodejs模块学习: connect解析

    nodejs模块学习: connect解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子来解决 ...

  3. C# selecd,new,virtual,abstract与override

    本文大部分内容摘自  <.NET开发专家·亮剑.NET : .NET深入体验与实战精要> 博主只是搬运工,不喜勿喷. 关于虚方法,抽象类这一部分一直不是太清楚,目前的工作中也接触不到这些. ...

  4. c#Message多功能用法

     1.   当要显示如图3个按钮时,并要获得单击不同按钮的进行不同的相应时,可以在MessageBoxButtons后面添加一个.(应该英文的点,此处为了醒目,用中文代替)可以看到提示框下方需要几个按 ...

  5. 是否使用安全模式启动word

          打开word,出现了一个提示,显示着“word遇到问题需要关闭.我们对此引起的不便表示抱歉.”下面有选项“恢复我的工作并重启word”,选中它.点下面的“不发送”.      在出现的提示 ...

  6. java中变量赋值的理解

    1.当赋值的值超出声明变量的范围时候,会报错! byte a =200 //会报错,因超出范围. byte a =(byte)200;//进行一个强制转换,就不会报错,不过会超出范围,超出部分会从头开 ...

  7. 全网首创ISE入门级教程

    转眼间我已经大三了,现在成为了实验室的负责人,对于下一届学生的纳新重任就交到了我的手上,想采取不同的方法暑假尽可能对他们进行一些培训,所以制作了此教程,说实话,在网上还没有找到关于ISE的入门级使用教 ...

  8. 使用 VS2017 和 js 进行桌面程序开发 - electron 之 Hello Word

    现在基于 js 和 web浏览器核心构建的 C/S 程序越来越多,比如微信桌面版(基于 duilib 和 cef).VS CODE(基于electron)等,出于了解的目的,最近学习了 electro ...

  9. localStorage和sessionStorage的使用方法和一些特性介绍

    本文主要介绍的是localStorage和sessionStorage的使用方法和一些特性,以及一些其他的存储方式的比较.   客服端存储方案包括以下几种:     1.Cookie     2.Us ...

  10. Linux基础(八)

    一.shell shell一般代表两个层面的意思,一个是命令解释器,比如BASH,另外一个就是shell脚本.Python也是一种解释语言. 1.   Linux中命令是按照下面的优先级执行的 ==& ...