windows 命令行中 「ftp」「sftp」命令的使用

■前言1

连接IBM的 mainframe(大机)

 

■前言2

SSH登陆实现方式介绍(为什么SSH是安全的)

  • A向B发送连接请求
  • B收到请求后,将自己的公钥发给A
  • A收到公钥后,用公钥加密B的登陆密码,生成加密密文,发送给B
  • B收到加密密文后,用自己的私钥解密,得到解密信息,然后与B的登陆密码做比较,正确则允许A登陆。

windows 命令行中 「ftp」「sftp」命令的使用_第1张图片

 

■自己电脑中的检证(SSH相关内容)(私密 )

%userprofile%\.ssh\known_hosts

A 连接 B ,A中生成此文件 (文件在使用A的用户的个人目录下)

https://blog.csdn.net/sxzlc/article/details/106564667

 

■SFTP免密登录的实现(直接连接)

https://www.cnblogs.com/zqj-blog/p/10445598.html

A连接B
A/B两台装有ssh的linux机器
在A机器上生成秘钥对
将A的公钥加入到B机器上指定位置 (授权列表)
    (授权列表
     authorized_keys    
     存放远程连接主机的公钥,一行一个公钥,权限为600)
======
公钥:用于加密(写信时,信件的内容),以达到保密的效果
私钥:用于解密(收到的信件的内容)
======
  • A向B发送连接请求,并带上自己的公钥
  • B收到A的公钥,检查机器上的授权列表是否包含有A的公钥,若存在,再生成一个随机数,使用公钥加密,生成加密密文发送给A
  • A收到加密密文后,用私钥机密,得到的结果发送给B
  • B收到A发来的结果,与之前生成的随机数作比较,一致则允许A连接 

windows 命令行中 「ftp」「sftp」命令的使用_第2张图片

No.24 公钥与私钥

https://blog.csdn.net/sxzlc/article/details/103450258

https://blog.csdn.net/qq_33535433/article/details/80260775

---

know_hosts

know_hosts       
 (该文件不会立刻生成)存放被连接主机的公钥,
   下次连接时会核对公钥是否一致,
   若不一致,则发出相应的警报,
   作用是避免安全攻击,比如说DNS劫持等。

 

■FTP命令

虽然,通常使用方法是,命令写入文件中,读取文件

start ftp -v -i -s:"%ftpFile%" "%ftpIP%"

https://blog.csdn.net/sxzlc/article/details/103254223

本文主要对,各个命令,分开进行说明。

1.进入ftp

运行cmd,在命令行中输入ftp,进入如下界面,开始操作

windows 命令行中 「ftp」「sftp」命令的使用_第3张图片

2.建立连接

open XXX.XXX.XXX.XXX 21

(两种方式都可以

   ・open ip 21

   ・open serverName 21

输入以上命令后,会继续让你输入用户名和密码

userName

userPassword

3.查看当前ftp服务器端路径

pwd

4.在服务器端,推到上一层目录  IBM大机中,不识别cd ../

cd ..

5.进入到某个目录

cd  dir001

6.显示文件一览,

不建议直接使用 ls,文件太多了。。。

ls
ls fileName

7.显示文件详细信息

dir fileName

8.跳转到本地的某个目录(为 get 和 put 操作 做好准备)

lcd C:\test\myftp

9.设置传输模式

binary
ascii
quote type b 1

  ※1 也许是因为连接的IBM的大机,在传输文件时,

  需要通过「quote type b 1」命令进行设定,

     执行上述命令之后,出现如下信息

200-Representaion type is KANJI Shift-JIS
200 Standard DBCS control used

     Representaion  英 [ˌreprɪzenˈteɪʃn] 表现; 描述; 描绘; 表现形式; 

---

↓自己的总结

https://blog.csdn.net/sxzlc/article/details/106504996

使用「quote type b 1」命令之后
FTP服务器将其传输类型更改为Shift-JIS-kanji
而不更改FTP客户端中的传输类型。
(就是说,对get有效,对put无效)

※ 对于使用put上传文件时,是否要做特别设定,根据具体的业务需求来定!!!

↓官网记述

https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.halu001/quote.htm

---

  ※2     而且设定后,通过get得到的文件大小,

        与原来的文件大小时不相同的。(比之前略小。)

  ※3 使用binary方式传送,直接乱码,全部乱码!

  ※4   使用ASCII方式传送,英文数字OK,日文部分乱码

  ※5   传送方式不同,得到的文件大小不同,「ascii」  >   「binary = 源文件大小」 >「 quote type b 1」

 

10.status

  查看连接状态

  (「quote type b 1」之后,通过status好像看不出来效果。。。有待研究)

 

11.获取文件到本地

get fileNmae
mget abc*

12.传送文件到服务器

put
mput abc*

12.退出

bye

 

■SFTP

直接在命令行中,执行如下命令即可 

(可以不写端口号)

sftp userName@serverName

・rm

删除文件
rm folder/*
rm 123.txt

・rmdir

删除文件夹
rmdir folder
只能删除空文件夹

---

 

■坑

■使用SFPT时的注意点 (坑1)

初次使用SFPT和服务器端建立连接时,会出现如下【提示信息】

The authenticity of host 'hostNameXXX (172.19.19.222)' can't be established.
RSA key fingerprint is ---一串16进制的数字---
Are you sure you want to continue connecting (yes/no)? 

这个是ssh安全认证是的一个RSA认证。此处必须选择yes才能连接。

选择 YES之后,又会显示如下信息

  第一次yes后,他会询问你是否永久把这个RSA认证加入本地,选择yes后,以后不会再出现提醒。

 (↑这个没有注意到,明天再确认一下)(坑2)

Warning:Permanently added 'hostNameXXX (172.19.19.222)' (RSA) to the list of known hosts

在下面的目录中,生成了一个验证用的文件

%userProfile%\.ssh\known_hosts

(「known_hosts」是文件名,不是目录)

当下次,再次使用SFPT连接时,就不会有【提示信息】显示了。

 

■使用SFPT时的特别设定(坑3)

也可以不进行RAS认证,但是需要修改服务器端,SSH的配置。
/etc/ssh/ssh_config 中的
#  StrictHostKeyChecking ask 
改成
 StrictHostKeyChecking no

https://www.cnblogs.com/houji/p/5294491.html

 

■HOSTS

是否需要调查 HOSTS 配置文相关的内容,有待研究

C:\Windows\System32\drivers\etc\hosts

・HOSTS文件的作用(DNS之前,IP与主机之间的映射关系,现在这里查看)

・相关资料1

https://blog.csdn.net/sxzlc/article/details/6121290

・相关资料2

https://blog.csdn.net/xifeijian/article/details/15660185

---

 

■坑4

编码 EBCDIC

https://blog.csdn.net/chy555chy/article/details/52065250

IBM

https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.halu001/dbc002.htm

 

你可能感兴趣的:(#,服务器配置,网络相关,#,bat,doc命令,windows,配置,服务器配置)