Linux远程连接管理(命令)

1.ftp服务器的搭建--vsftpd

  ftp的作用:文件的上传和下载,不允许操作目录,如果想操作目录只能用tar打包。

(1)服务器端:

    ①.修改配置文件

    ②.重启服务

    (以上部分可以参考视频:https://www.bilibili.com/video/av33660709?p=35)

(2)客户端:

    ①.实名用户登录:

        a.首先输入命令:

        ftp [-dignv][主机名称或IP地址]

        参数

  •   -d 详细显示指令执行过程,便于排错或分析程序执行的情形。
  •   -i 关闭互动模式,不询问任何问题。
  •   -g 关闭本地主机文件名称支持特殊字符的扩充特性。
  •   -n 不使用自动登陆。
  •   -v 显示指令执行过程。

        (也可以直接输入ftp再输入 open IP地址)

        b.输入用户名(server)

        c.输入密码(server)

        d.文件的上传

            put:上传指定文件put filename [newname]

            send:上传指定文件send filename [newname]
            (filename为上传的本地文件名,newname为上传至FTP服务器上时使用的名字,如果不指定newname,文件将以原名上传。)

        e.文件的下载

            get:下载指定文件get filename [newname]

            (filename为下载的FTP服务器上的文件名,newname为保存在本都计算机上时使用的名字,如果不指定newname,文件将以原名保存。)

      get命令下载的文件将保存在本地计算机的工作目录下。该目录是启动FTP时在盘符C:后显示的目录。如果想修改本地计算机的工作目录,可以使用 lcd 命令。比如:lcd d:\ 表示将工作目录设定为D盘的根目录。

    ②.匿名用户登录

        a.首先输入命令:ftp serverIP

        b.输入用户名(server):anonymous

        c.输入密码(server):直接回车跳过密码的输入

        注意:不允许匿名用户在任意目录直接切换,只能在指定的目录范围内工作。需要在ftp服务器上创建一个匿名用户的目录——匿名用户的根目录。(这部分参考视频:https://www.bilibili.com/video/av33660709?p=37)

        d.文件的上传:

            put:上传指定文件put filename [newname]

            send:上传指定文件send filename [newname]
            (filename为上传的本地文件名,newname为上传至FTP服务器上时使用的名字,如果不指定newname,文件将以原名上传。)

        e.文件的下载:

            get:下载指定文件get filename [newname]

    ③.ftp实例合集

  • 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 # 同BYE.
  • ftp> recv remote-file [local-file] # 同GET.
  • ftp> rename [from] [to] # 改变远端主机中的文件名.
  • ftp> rmdir directory-name # 删除远端主机中的目录.
  • ftp> send local-file [remote-file] # 同PUT.
  • ftp> status # 显示当前FTP的状态.
  • ftp> system # 显示远端主机系统类型.
  • ftp> user user-name [password] [account] # 重新以别的用户名登录远端主机.
  • ftp> ? [command] # 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。
  • ftp> ! # 从 ftp 子系统退出到外壳。

    关闭FTP连接:

    ftp> bye
    ftp> exit
    ftp> quit


    下载文件:

    ftp> get readme.txt # 下载 readme.txt 文件
    ftp> mget *.txt # 下载


    上传文件:

    ftp> put /path/readme.txt # 上传 readme.txt 文件
    ftp> mput *.txt # 可以上传多个文件

2.SSH

(1)服务器端: 

    ①.安装SSH:sudo apt-get install openssh-server

可以使用sudo aptitude show openssh-server命令查看SSH是否安装

(这部分参考视频:https://www.bilibili.com/video/av33660709?p=41)

(2)客户端:

    ①.远程登录:ssh Username@IP,其中,Username是用户名,IP是远程服务器地址。

ssh命令 是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。

语法:
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服务器上执行的指令。
实例
# ssh 用户名@远程服务器地址
ssh [email protected]

    ②.退出登录:logout

3.SCP

Linux scp命令用于Linux之间复制文件和目录。scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

语法:
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
简易写法:

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(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
  • -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
  • -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
  • -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
  • -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
  • -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
  • -P port:注意是大写的P, port是指定数据传输用到的端口号
  • -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

实例:
1、从本地复制到远程
命令格式:

scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file

      第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

复制目录命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder

或者

scp -r remote_username@remote_ip:local_floder remote_floder

      第1个和第3个指定了用户名,命令执行后需要再输入密码;第2个没有指定用户名,命令执行后需要输入用户名和密码;

2、从远程复制到本地
从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例

说明:

1.如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -p 参数来设置命令的端口号,命令格式如下:

#scp命令使用端口号 4588
scp -p 4588 [email protected]:/usr/local/sin.sh /home/administrator

2.使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

 4.RSH

Linux rsh命令用于远程登入的Shell。rsh(remote shell)提供用户环境,也就是Shell,以便指令能够在指定的远端主机上执行。

语法:
rsh [-dn][-l <用户名称>][主机名称或IP地址][执行指令]
参数说明:

  • -d  使用Socket层级的排错功能。
  • -l<用户名称>  指定要登入远端主机的用户名称。
  • -n  把输入的指令号向代号为/dev/null的特殊外围设备。

实例:
开启rsh服务:

# chkconfig --list //检测rlogin服务是否开启

# chkconfig rsh on //开启rsh服务

# chkconfig -list //检测开启的服务

远程命令执行:

# rsh -l hnlinux 192.168.1.88 /bin/ls //远程执行ls命令

 

 

     

你可能感兴趣的:(Linux远程连接管理(命令))