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. 没有在xml中引入 相关的配置文件

    错误信息如下   严重: Servlet.service() for servlet AutoReplyServlet threw exception org.apache.ibatis.except ...

  2. [图形学] Chp8.4 OpenGL 二维观察函数——视口

    这节有几个显示窗口的控制函数,可以调整视口,创建子窗口,最小化为图标,设置图标名称,隐藏显示等. gluOrtho2D (xwmin, xwmax, ywmin, ywmax); // 定义二维裁剪窗 ...

  3. FAT文件系统学习和思考

    FAT(File Allocation Table)文件系统 前两天面试,导师说我基础差,要赶紧补起来了.今天晚上看了FAT32文件系统,基本的信息都是百度百科中"FAT文件系统" ...

  4. spring +springmvc+mybatis组合总结

    springmvc+spring+mybatis整合:1. 拷贝所需jar2. 创建spring配置文件(beans.xml)3. 配置数据源 <bean id="dataSource ...

  5. CSS学习(页外引用还不懂)

    CSS的语法结构为   选择符 {属性:值:}    Selector {Property : Value:} 选择符:通配 *{....}  , 元素  body{....} .h1{....}.p ...

  6. 谈谈tableView的重要属性内边距

    全屏穿透效果需要做到两点 tableView的可视范围占据整个父控件(或者屏幕)--设置contentsize滚动范围. 所有的cell都可以被看到,也就是说tableView中的cell不会被导航栏 ...

  7. jquery中append与appendTo方法区别

    1. append(content)方法 方法作用:向每个匹配的元素内部追加内容. 参数介绍:content (<Content>): 要追加到目标中的内容. 用法示例: HTML代码为& ...

  8. PostGreSQL数据库安装教程

    windows 10 x64 pro 1703安装postgresql-9.6.3-2-windows-x64.exe数据库,步骤如下: 第一:下载数据库安装程序,下载地址为:https://www. ...

  9. file_get_contents()实现get+post请求

    先看file_get_contents()的定义: string file_get_contents ( string $filename [, bool $use_include_path = fa ...

  10. Django--Uploaded Files以及Handlers

    一.表示已经上传的文件(uploaded files)的类 表示已经上传的文件的类有下面几个: class UploadedFile 在文件上传的期间,实际的文件数据被存储在request.FILES ...