linux 安装SSH Server + FTP Server(openssh-server + vsftp)
openssh-server (推荐. 一般ssh,ftp 都是单独的,但是这个包含2个)
默认ubuntu 已经安装了, ssh client ,ftp client
dpkg -l | grep ftp
dpkg -l | grep ssh
但是没有安装ssh-server, 所以需要安装 sudo apt install openssh-server
我一般用bitVise,其中 包含ssh,可视化的ftp
输入 ip:port
再输入 帐号密码。 就可以连接了
linux确认sshserver是否启动了:(或用“netstat -tlp”命令)
ps -e | grep ssh
如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了。
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:
sudo /etc/init.d/ssh resart
用psftp.exe 传输文件
在linux下一般用scp这个命令来通过ssh传输文件。
1、从服务器上下载文件
scp username@servername:/path/filename /var/www/local_dir(本地目录)
例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)
2、上传本地文件到服务器
scp /path/filename username@servername:/path
例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中
3、从服务器下载整个目录
scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)
例如:scp -r root@192.168.0.101:/var/www/test /var/www/
4、上传目录到服务器
scp -r local_dir username@servername:remote_dir
例如:scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录
注:目标服务器要开启写入权限。
vsftpd
https://help.ubuntu.com/lts/serverguide/ftp-server.html
FTP 服务器
File Transfer Protocol (FTP) is a TCP protocol for downloading files between computers. In the past, it has also been used for uploading but, as that method does not use encryption, user credentials as well as data transferred in the clear and are easily intercepted. So if you are here looking for a way to upload and download files securely, see the section on OpenSSH in 远程管理 instead.
sudo apt install vsftpd
http://www.linuxidc.com/Linux/2016-09/135634.htm
http://www.cnblogs.com/swbzmx/p/5848257.html
1.sudo apt-get update
2.sudo apt-get install vsftpd ,执行完该步骤,vsftpd服务已经安装
3.创建ftp用户
a,创建用户目录 sudo mkdir /home/uftp
b,创建用户 sudo useradd -d /home/uftp -s /bin/bash uftp
c,修改密码 sudo passwd uftp
4,修改ftp的配置文件 /etc/vsftpd.conf
a,向文件中添加
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
seccomp_sandbox=NO
使文件中的"local_enable=YES"-->保存。
b,新建/etc/allowed_users文件
输入"sudo gedit /etc/allowed_users"-->回车-->输入uftp-->保存
c,使用gedit查看/etc/ftpusers文件中的内容
打开"终端窗口",输入"sudo gedit /etc/ftpusers"-->回车-->打开这个文件后,看一看有没有uftp这个用户名,如果没有,就直接退出。如果有就删除uftp,因为这个文件中记录的是不能访问FTP服务器的用户清单。
d,如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行:
local_root=/
local_root表示使用本地用户登录到ftp时的默认目录
----------------------------------------------
5.注意相关目录权限
错误:550 Permission denied
原因:vsftp默认配置不允许上传文件。
解决:修改/etc/vsftpd.conf
将“write_enable=YES”前面的#取消。
重启vsftp服务器。
6.修改上传文件的权限
默认为-rw---------
进行如下设置后:
local_umask=022
变为:-rw-r--r--
7.修改ftp编码
使用utf8
utf8_filesystem=YES