[关闭]
@JunQiu 2018-09-18T21:05:21.000000Z 字数 1868 阅读 1671

ssh、ftp协议(22/21,工作模式)、liunx_scp、ssh、ftp

summary_2018/07 net linux


1、日常工作

1.1、linux:ftp服务器、ftp传输文件
1.2、ssh 原理及使用
1.3、基于ssh的scp命令

2、技术学习

2.1、linux:ftp服务器、ftp传输文件
  1. ## 命令
  2. get file //下载,不支持目录
  3. put file //上传,不支持目录
  4. mget //下载多个,支持通配符
  5. mput //上传多个,支持通配符
  6. !cmd //执行外面命令
  7. lcd //切换外面路径
2.2、ssh 原理及使用
  1. ### ssh登陆过程
  2. 1)远程主机收到用户的登录请求,把自己的公钥发给用户。
  3. 2)用户使用这个公钥,将登录密码加密后,发送回来。
  4. 3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。
  5. ### 中间人攻击:
  6. 如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。因为不像https协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。
  7. ### 登陆方式
  8. # 口令登陆
  9. $ ssh user@host
  10. # 公匙登陆
  11. 所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
  12. // 生成自己的公匙
  13. ssh-keygen
  14. // 生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥
  15. // 将公钥传送到远程主机host,远程主机将用户的公钥,保存在登录后的用户主目录的$HOME/.ssh/authorized_keys文件中。
  16. ssh-copy-id user@host
  17. // 公钥的保存过程
  18. $ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
  19. // 命令
  20. ssh user@host //本地和远程用户名一样时:ssh @host
  21. ssh -p 2222 user@host //-p指定端口,默认22
2.3、基于ssh的scp命令
  1. # 命令格式
  2. scp [参数] [原路径] [目标路径]
  3. -1 强制scp命令使用协议ssh1
  4. -2 强制scp命令使用协议ssh2
  5. -4 强制scp命令只使用IPv4寻址
  6. -6 强制scp命令只使用IPv6寻址
  7. -B 使用批处理模式(传输过程中不询问传输口令或短语)
  8. -C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
  9. -p 留原文件的修改时间,访问时间和访问权限。
  10. -q 不显示传输进度条。
  11. -r 递归复制整个目录。
  12. -v 详细方式显示输出。scpssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
  13. -c cipher cipher将数据传输进行加密,这个选项将直接传递给ssh
  14. -F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh
  15. -i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh
  16. -l limit 限定用户所能使用的带宽,以Kbit/s为单位。
  17. -o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
  18. -P port 注意是大写的P, port是指定数据传输用到的端口号
  19. -S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
  20. // 本地到远程
  21. $scp local_file remote_username@remote_ip:remote_folder
  22. $scp local_file remote_username@remote_ip:remote_file
  23. $scp local_file remote_ip:remote_folder
  24. $scp local_file remote_ip:remote_file
  25. // 远程到本地
  26. 本地复制到远程的命令后面2个参数互换顺序就行
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注