cento和ubuntu安装ftps

Posted 坚持奋斗的李洛克

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cento和ubuntu安装ftps相关的知识,希望对你有一定的参考价值。

FTPS是在安全套接层使用标准的FTP协议和指令的一种增强型TFP协议,为FTP协议和数据通道增加了SSL安全功能。FTPS也称作“FTP-SSL”和“FTP-over-SSL”。SSL是一个在客户机和具有SSL功能的服务器之间的安全连接中对数据进行加密和解密的协议。
FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
主动模式:FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

被动模式:FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。

1.ubuntu 安装ftps

1)安装 vsftpd
apt-get install vsftpd
2)创建用户并在/home 目录下建立一个用户目录username
useradd -m test
passwd test

若是想更改用户登录目录,则执行命令
usermod -d /newpath test
3)更改配置文件
vi /etc/vsftpd.conf

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
#主动式连接使用的数据通道
connect_from_port_20=NO
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
 #启用被动连接模式
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=10100
allow_writeable_chroot=YES
ssl_enable=YES
ssl_sslv2=YES
ssl_sslv3=YES
ssl_tlsv1=YES

4)重启ftps
service vsftpd restart
5)FTP服务被动模式命令端口默认是21号端口,这里我们开放21号端口和数据端口范围
ufw allow from any to any port 21,10000:10100 proto tcp
或者直接关闭防火墙
ufw disable
6)测试能否连接
apt install lftp
lftp ftp://username@ip:21

2.centos 安装ftps

1)设置防火墙
systemctl stop firewalld.service #停止firewall(防火墙)
systemctl disable firewalld.service #禁止firewall开机启动
vi /etc/sysconfig/selinux
SELINUX=disabled
然后执行:setenforce 0
2)安装vsftpd
yum install -y vsftpd
3)创建用户名和密码
useradd user1
echo “123” |passwd --stdin user1
4)启动
service vsftpd start
5).配置本地CA证书服务器,修改配置文件:
vi /etc/pki/tls/openssl.cnf
42 dir = /etc/pki/CA # Where everything is kept
85 countryName = optional
86 stateOrProvinceName = optional
87 organizationName = optional

cd /etc/pki/CA/
mkdir certs newcerts crl
touch index.txt serial
echo “01” >serial
openssl genrsa 1024 > private/cakey.pem

chmod 600 private/cakey.pem
ll private/cakey.pem

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
会打印
Country Name (2 letter code) [GB]:cn

State or Province Name (full name) [Berkshire]:shandong

Locality Name (eg, city) [Newbury]:jinan

Organization Name (eg, company) [My Company Ltd]:hello

Organizational Unit Name (eg, section) []:soft

Common Name (eg, your name or your server’s hostname) []:ca.hello.com
Email Address []:hello@hello.com
6)为ftp服务器创建证书
mkdir /etc/vsftpd/certs
cd /etc/vsftpd/certs
openssl genrsa 1024 >vsftpd.key

openssl req -new -key vsftpd.key -out vsftpd.csr
依次输入地区单位等信息
openssl ca -in vsftpd.csr -out vsftpd.cert
选择y
chmod 600 *
7)ftp服务应用证书
vim /etc/vsftpd/vsftpd.conf

rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert
rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_enable=YES
ssl_sslv2=YES
ssl_sslv3=YES
ssl_tlsv1=YES
force_anon_logins_ssl=YES
force_anon_data_ssl=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
require_ssl_reuse=NO
ssl_ciphers=HIGH

anonymous_enable=NO
ascii_upload_enable=YES
ascii_download_enable=YES
#锁定用户到各自的根目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
listen_port=21        #端口号自己定义
listen_ipv6=NO
pam_service_name=vsftpd
#local_root=/ftpdata/ #用户路径
user_config_dir=/etc/vsftpd/userconfig #用户配置文件目录,里面以用户名创建文件,并输入local_root=/path
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=59000
pasv_max_port=60000
reverse_lookup_enable=NO
max_clients=1000
max_per_ip=1000

8)重启服务
systemctl restart vsftpd.service
9)测试
yum -y install lftp
lftp ftp://username@ip:21

二.docker安装(Centos和Ubuntu)

Centos 7环境安装Docker

一.docker安装启动

Docker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu发布的,而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的。在很多版本的CentOS中是不支持更新最新的一些补丁包的。而下面的安装方式是基于centos的。
注意:这里建议安装在CentOS7.x以上的版本,在CentOS6.x的版本中,安装前需要安装其他很多的环境而且Docker很多补丁不支持更新。

第一步:yum 包更新到最新

sudo yum update

第二步:安装需要的软件包

yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

第三步:设置yum源为阿里云

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第四步:安装docker

sudo yum install docker-ce

第五步:安装后查看docker版本

docker -v

第六步:设置ustc的镜像

ustc是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.04版本的时候就在用。ustc的docker镜像加速器速度很快。ustc docker mirror的优势之一就是不需要注册,是真正的公共服务。

https://lug.ustc.edu.cn/wiki/mirrors/help/docker

编辑该文件:

vi /etc/docker/daemon.json  

在该文件中输入如下内容:

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

第七步:Docker的启动与停止

systemctl命令是系统服务管理器指令

启动docker:

systemctl start docker

停止docker:

systemctl stop docker

重启docker:

systemctl restart docker

查看docker状态:

systemctl status docker

开机启动:

systemctl enable docker

查看docker概要信息

docker info

查看docker帮助文档

docker --help

Ubuntu 16.04安装docker详细步骤

因需要安装opendronemap,而这个依赖于docker,所以记录了一下安装docker的步骤,比较简单.通过apt的docker官方源安装最新的Docker CE(Community Edition),即Docker社区版,是开发人员和小型团队的理想选择。

开始安装

由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本: $ sudo apt-get remove docker docker-engine docker-ce docker.io

更新apt包索引:

$ sudo apt-get update

安装以下包以使apt可以通过HTTPS使用存储库(repository):

$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

添加Docker官方的GPG密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

使用下面的命令来设置stable存储库:

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

再更新一下apt包索引:

$ sudo apt-get update

安装最新版本的Docker CE:

$ sudo apt-get install -y docker-ce

验证docker,查看docker服务是否启动:

$ systemctl status docker

若未启动,则启动docker服务:

$ sudo systemctl start docker

经典的hello world:

$ sudo docker run hello-world

有以上输出,表示docker安装成功

 

 

以上是关于cento和ubuntu安装ftps的主要内容,如果未能解决你的问题,请参考以下文章

gitlab安装配置(Ubuntu18和CentOS7)

centos和ubuntu安装python-pip,python包的管理工具

安装Ubuntu Server18.04(附与CentOS占用体积和Python版本的对比)

CentOS和Ubuntu下安装配置Greenplum数据库集群(包括安装包和源码编译安装)

在linux下安装java(centos和ubuntu)

为什么win10应用商店的ubuntu免费而centos收费?