本文最后更新于:2024年9月8日 晚上
Linux 远程连接
sftp
登陆
帮助
建立连接后, linux shell中的$编程了sftp>,这也对,现在执行以下help,可以看看sftp支持哪些命令。
查看当前目录的路径
pwd是看远端服务器的目录,即sftp服务器默认的当前目录, lpwd是查看本地目录。
查看当前目录的文件
ls是看sftp服务器下当前目录下的东东, lls是查看本地当前目录下。
上传
把linux本地目录下的a.txt文件上传到sftp服务器的当前目录下。
下载
把sftp服务器当前目录下的b.txt文件下载到本地当前目录下。
本地执行
- 这个是指在本地上执行command这个命令,比如!ls是列举本地当前目录下的东东, !rm a.txt是删除本地当前目录下的a.txt文件。
- 这个命令非常非常有用,因为在sftp> 后输入命令,默认值针对sftp服务器的,所以执行rm a.txt删除的是sftp服务器上的a.txt文件,而非本地的linux上的a.txt文件。
退出
scp
- Linux scp 命令用于 Linux 之间复制文件和目录。
- scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
- scp 是加密的,rcp是不加密的,scp 是 rcp 的加强版。
1 2 3
| scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 [...] [[user@]host2:]file2
|
1
| scp [可选参数] file_source file_target
|
- -1:强制scp命令使用协议ssh1
- -2:强制scp命令使用协议ssh2
- -4:强制scp命令只使用IPv4寻址。
- -6:强制scp命令只使用IPv6寻址。
- -B:使用批处理模式(传输过程中不询问传输口令或短语)
- -C:允许压缩,(将-C标志传递给ssh,从而打开压缩功能)
- -p:保留原文件的修改时间,访问时间和访问权限。
- -q:不显示传输进度条。
- -r:递归复制整个目录。
- -v:详细方式显示输出,scp和ssh会显示出整个过程的调试信息,这些信息用于调试连接,验证和配置问题。
- -c cipher:以cipher将数据传输进行加密,这个选项将直接传递给ssh
- -F ssh_config:指定一个替代的ssh配置文件,此参数直接传递给ssh
- -i identity_file:从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh
- -l limit:限定用户所能使用的带宽,以Kbit/s为单位。
- -o ssh_option:如果习惯于使用ssh_config中的参数传递方式。
- -P port:注意是大写的P, port是指定数据传输用到的端口号。
- -S program:指定加密传输时所使用的程序,此程序必须能够理解ssh的选项。
复制文件
1 2 3 4 5 6 7
| scp local_file remote_username@remote_ip:remote_folder # OR scp local_file remote_username@remote_ip:remote_file # OR scp local_file remote_ip:remote_folder # OR scp local_file remote_ip:remote_file
|
- 第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名。
- 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。
实例
1 2 3 4
| scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3 scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3
|
复制目录
1 2 3
| scp -r local_folder remote_username@remote_ip:remote_folder # OR scp -r local_folder remote_ip:remote_folder
|
- 第1个指定了用户名,命令执行后需要再输入密码。
- 第2个没有指定用户名,命令执行后需要输入用户名和密码。
实例
1 2
| scp -r /home/space/music/ root@www.runoob.com:/home/root/others/ scp -r /home/space/music/ www.runoob.com:/home/root/others/
|
- 上面命令将本地 music 目录复制到远程 others 目录下。
说明
- 从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可。
- 如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:
1 2
| #scp 命令使用端口号 4588 scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator
|
- 使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。
ftp
ftp命令用来设置文件系统相关功能,ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相信掌握了这些使用Linux进行ftp操作将会非常容易。
- 选项
- -d:详细显示指令执行过程,便于排错或分析程序执行的情况。
- -i:关闭互动模式,不询问任何问题。
- -g:关闭本地主机文件名称支持特殊字符的扩充特性。
- -n:不使用自动登录。
- -v:显示指令执行过程。
- 参数
- 主机:指定要连接的FTP服务器的主机名或ip地址。
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| FTP>ascii:设定以ASCII方式传送文件(缺省值) FTP>bell:每完成一次文件传送,报警提示。 FTP>binary:设定以二进制方式传送文件。 FTP>bye:终止主机FTP进程,并退出FTP管理方式。 FTP>case:当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母。 FTP>cd:同UNIX的CD命令。 FTP>cdup:返回上一级目录。 FTP>chmod:改变远端主机的文件权限。 FTP>close:终止远端的FTP进程,返回到FTP命令状态,所有的宏定义都被删除。 FTP>delete:删除远端主机中的文件。 FTP>dir [remote-directory] [local-file] 列出当前远端主机目录中的文件。如果有本地文件,就将结果写至本地文件。 FTP>get [remote-file] [local-file] 从远端主机中传送至本地主机中。 FTP>help [command] 输出命令的解释。 FTP>lcd:改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录。 FTP>ls [remote-directory] [local-file] 同DIR FTP>macdef:定义宏命令。 FTP>mdelete [remote-files] 删除一批文件。 FTP>mget [remote-files] 从远端主机接收一批文件至本地主机。 FTP>mkdir directory-name 在远端主机中建立目录。 FTP>mput local-files 将本地主机中一批文件传送至远端主机。 FTP>open host [port] 重新建立一个新的连接。 FTP>prompt:交互提示模。 FTP>put local-file [remote-file] 将本地一个文件传送至远端主机。 FTP>pwd:列出当前远端主机目。 FTP>quit:同BY FTP>recv remote-file [local-file] 同GE FTP>rename [from] [to] 改变远端主机中的文件。 FTP>rmdir directory-name 删除远端主机中的目。 FTP>send local-file [remote-file] 同PU FTP>status:显示当前FTP的状。 FTP>system:显示远端主机系统类。 FTP>user user-name [password] [account] 重新以别的用户名登录远端主。 FTP>? [command]:同HELP. [command]指定需要帮助的命令名称,如果没有指定 command,ftp 将显示全部命令的列表。 FTP>! 从 ftp 子系统退出到外壳。
|
ssh
ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。
- 选项
- -1:强制使用ssh协议版本1
- -2:强制使用ssh协议版本2
- -4:强制使用IPv4地址。
- -6:强制使用IPv6地址。
- -A:开启认证代理连接转发功能。
- -a:关闭认证代理连接转发功能。
- -b:使用本机指定地址作为对应连接的源ip地址。
- -C:请求压缩所有数据。
- -F:指定ssh指令的配置文件。
- -f:后台执行ssh指令。
- -g:允许远程主机连接主机的转发端口。
- -i:指定身份文件。
- -l:指定连接远程服务器登录用户名。
- -N:不执行远程指令。
- -o:指定配置选项。
- -p:指定远程服务器上的端口。
- -q:静默模式。
- -X:开启X11转发功能。
- -x:关闭X11转发功能。
- -y:开启信任X11转发功能。
- 参数
- 远程主机:指定要连接的远程ssh服务器。
- 指令:要在远程ssh服务器上执行的指令。