如何使用SFTP保护与远程服务器的文件传输

在本文中,您可以了解–如何设置SFTP(安全文件传输协议),这将帮助我们将文件从本地计算机传输到安全的远程服务器。FTP(文件传输协议)是一种非常流行的方法,用于将文件从一台计算机传输到另一台计算机或从远程服务器传输。

SFTP代表安全文件传输协议,它是一个单独的协议,该协议使用SSH来保护连接并进行文件传输,从而遍历远程服务器和本地计算机上的文件系统。

如何使用SFTP进行连接

SFTP使用SSH协议进行连接并建立安全连接以进行身份验证。尽管密码非常易于使用并设置默认密码,但是我们建议创建SSH密钥并将公用密钥复制到需要访问的任何系统。这不仅可以确保连接安全,而且从长远来看还可以节省一些时间。

在进一步使用SFTP之前,我们需要不使用任何密码而设置对远程计算机的ssh访问。

创建SSH密钥

# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

71:de:c6:b4:c4:8b:31:70:5f:bd:96:60:56:8e:74:b9 root@centos

The key's randomart image is:

+--[ RSA 2048]----+

|         . . .o+.|

|         o o.=+..|

|        . + B...+|

|         + O o E |

|         S o * . |

|               . |

|                 |

|                 |

|                 |

+-----------------+

For security the key itself is a protected using a span passphrase, if a passphrase is used to protect their key,

the SSH-agent can be used to cache the passphrase.

现在我们需要将ssh-key复制到远程主机

# ssh-copy-id root@192.168.1.89

root@192.168.1.89's password:

Now try logging into the machine, with "ssh 'root@192.168.1.89'", and check in:

.ssh/authorized_keys

To make sure we haven't added extra keys that you weren't expecting.

要测试连接,请使用ssh登录到远程服务器

# ssh root@192.168.1.89

Last login: Fri Apr 15 15:18:42 2016 from 192.168.1.125

然后从服务器退出并使用SFTP连接到服务器

# sftp root@192.168.1.89

Connecting to 192.168.1.89...

sftp>

然后提示符从#更改为sftp>

了解环境的简单命令

了解远程服务器上的当前工作目录

sftp>pwd

Remote working directory: /root

列出远程服务器上的文件和文件夹

sftp>ls

Desktop               Documents

Downloads             Music

Pictures              Public

Templates             Videos

打印本地机器的工作目录

sftp> lpwd
本地工作目录:/ root

列出本地计算机文件

将远程文件传输到本地计算机

语法

sftp> get <remote file >

用法:

sftp> get pdfflyer.sql

Fetching /root/pdfflyer.sql to pdfflyer.sql

/root/pdfflyer.sql 100% 1765KB 1.7MB/s 00:01

这会将远程文件复制到当前工作目录中的本地计算机上

sftp> get <remotefile> <localfile>

这会将远程文件复制到当前工作目录,并重命名为我们在命令<本地文件>中指定的其他名称。

sftp>get -r <Directory>

要递归复制目录,其中包含<Directory>中的所有文件和文件夹,我们可以使用'-r'选项

将本地文件传输到远程计算机

General Syntax:

sftp> put <localfile>

Usage:

sftp> put svn_backup.sh

Uploading svn_backup.sh to /root/svn_backup.sh

svn_backup.sh 100% 489 0.5KB/s 00:00

sftp>

可以将本地文件递归复制到远程服务器,我们可以使用“ -r”选项。

sftp> put -r <Local directory>

使用SFTP的简单文件操作

SFTP允许您执行所有类型的基本文件维护,这些维护在使用文件系统时非常有用。我们可以从远程计算机获取文件,只需添加即可查看本地计算机中的文件!在命令前面。

sftp> get /etc/passwd

sftp> !less passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin

vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin

......

要列出本地组,我们可以通过添加命令来运行命令!一开始。

sftp>!less /etc/group

root:x:0:

bin:x:1:bin,daemon

daemon:x:2:bin,daemon

sys:x:3:bin,adm

adm:x:4:adm,daemon

tty:x:5:

disk:x:6:

lp:x:7:daemon

mem:x:8:

kmem:x:9:

wheel:x:10:

....

没有用于操作本地文件权限的命令,但是您可以设置本地umask,以便复制到本地系统的所有文件都具有适当的权限。

可以使用“ lumask”命令来完成:

sftp>lumask 022

Local umask: 022

SFTP允许您使用“ lmkdir”和“ mkdir”在远程和本地计算机上创建目录。

sftp> bye

要退出SFTP会话,请使用“退出”或“再见”关闭连接。

之后,我们知道如何使用SFTP将文件从本地计算机传输到远程计算机,这是一个简单的工具,但是在远程服务器和本地计算机之间传输文件时功能非常强大。

以上是 如何使用SFTP保护与远程服务器的文件传输 的全部内容, 来源链接: utcz.com/z/326507.html

回到顶部