Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件

使用Windows命令行实现对CentOS 8进行SSH、SFTP连接

  • 1》打开Windows命令行
    • 方式一:
    • 方式二:
  • 2》连接远程操作操作系统
    • 1.SSH连接,操作远程系统
    • 2.SFTP连接,上传文件到远程系统
  • 3》意外情况汇总处理
    • 1. ifconfig命令失效
      • 问题描述
      • 解决方法一:
      • 解决方法二:
    • 2. 虚拟机没有显示IP
      • 问题描述
      • 解决方法
    • 3.使用SSH、SFTP命令无法连接上远程系统
      • 问题描述
      • 原因
      • 解决方法

笔者本地操作系统Win10;
笔者远程系统Linux CentOS 8;
使用win10系统去连接服务器不需要安装其它任何软件。
本文宗旨操作简单化,描述详细化 。

1》打开Windows命令行

方式一:

右键右击Windows图标,选择运行
会弹出如下框,输入cmd



回车或确认后打开windows运行命令行窗口,笔者的字体颜色是绿色,人生在世总要带点绿哈哈哈,大部分童鞋的字体颜色是还是白色的

方式二:

使用快捷键win+R,在弹出的窗口输入cmd


回车或确认后打开windows运行命令行窗口,笔者的字体颜色是绿色,大部分童鞋的字体颜色是还是白色的

2》连接远程操作操作系统

查看对外IP方式:

1.虚拟机: 使用ifconfig命令
在这里插入图片描述
2.云服务器:在云服务器控制台上找到服务器的公网IP,笔者是一台最低配阿里云ECS服务器,年费用不超过100软妹币,满足日常学习开发使用,其它高配云服务器享受同等折扣,链接戳我直达

查看云服务器IP

1.SSH连接,操作远程系统

打开windows运行命令行
输入ssh user@host 这里user是你的远程系统账户名,host是你的远程系统对外的IP地址。密码不显示,输入密码时尽量不要使用小键盘。

第一次本地进行远程连接Linux是酱紫的:
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第1张图片

有了第一次调教之后再次连接是酱紫的:
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第2张图片

连接成功之后我们就可以随心所欲的在远程机器上使用命令了,当你复制了一条命令之后,鼠标右键即可粘贴
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第3张图片

2.SFTP连接,上传文件到远程系统

笔者先在E:\upload 目录下存放了三个文件
在这里插入图片描述

输入命令sftp user@host建立sftp连接,user是你的Linux账户名,host是你的Linux系统对外的IP地址。注意,密码不会显示,带有小键盘的同学尽量不要用小键盘。输入密码后回车提示
Connected to user@host. 则表示连接成功。

第一次连接远程Linux系统是酱紫的:
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第4张图片
有了第一次调教之后再次连接是酱紫的:
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第5张图片

连接成功后输入命令 lcd 文件所在目录 , 例如我这边的文件目录是E:\upload
再输入命令 lls 就能看到我们之前放在本地系统 E:\upload 里的三个文件
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第6张图片

好了,现在我们开始本地上传这三个文件,put 加上对应的文件名称
put erlang-23.3.2-1.el7.x86_64.rpm
put rabbitmq_delayed_message_exchange-3.8.0.ez
put rabbitmq-server-3.8.16-1.el7.noarch.rpm
在这里插入图片描述
再接着,我们把这三个文件保存到远程系统,get 加上对应的文件名称
get erlang-23.3.2-1.el7.x86_64.rpm
get rabbitmq_delayed_message_exchange-3.8.0.ez
get rabbitmq-server-3.8.16-1.el7.noarch.rpm
服务器报存文件
我们使用命令ls查看远程系统保存的这三个文件
使用命令pwd知道远程系统里当前文件的保存目录为 /root
查看服务器保存文件
最后,我们使用命令 exit 或 快捷键Ctrl+C关闭sftp连接
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第7张图片
关闭sftp连接

3》意外情况汇总处理

笔者在对多个远程系统进行操作时出现了少数意外情况;
此处记录笔者在进行上述操作中所出现过的意外情况。
童鞋们出现错误可以参考这里

1. ifconfig命令失效

问题描述

-bash: ifconfig: 未找到命令

-bash: ifconfig: command not found

解决方法一:

使用命令ip addrWin10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第8张图片

解决方法二:

yum -y install net-tools 安装相关工具
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第9张图片再次使用ifconfig 诶可以了
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第10张图片

2. 虚拟机没有显示IP

问题描述

使用ifconfig 命令没有显示IP地址
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第11张图片
systemctl start network 尝试启动网卡出现如下错误
Failed to start network.service: Unit network.service not found.
启动网卡

解决方法

cd /etc/sysconfig/network-scripts 进入网卡脚本目录;
ls 查看网卡配置文件;
这个配置文件的名称,每个人都不一样,我的配置文件叫 ifcfg-ens32
查看脚本文件
那我们用vi编辑器编辑该文件
vi ifcfg-ens32 将里面内容ONBOOT=no改成ONBOOT=yes
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第12张图片
按下 “ i ” 键,进行编辑
ONBOOT=no 改成ONBOOT=yes
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第13张图片
好了,按下Esc 键退出编辑模式,再按下 :wq (注意此处冒号为英文冒号)
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第14张图片
按下回车,保存并退出
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第15张图片
cat ifcfg-ens32 cat 加上自己的配置文件名称,确实已修改完成
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第16张图片
reboot重启系统,等待重启完成后,登录系统;
ifconfig 再次查看,好了可以拿到这台虚拟机的对外IP了。
之后我们就可以进行相关远程连接操作了。
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第17张图片

3.使用SSH、SFTP命令无法连接上远程系统

问题描述

当进行SSH、SFTP命令尝试连接远程系统时出现

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:Nbp6lIw2Q0mtENtthJquzUXPVc2r73pcBDTEwtCPiRI.
Please contact your system administrator.
Add correct host key in C:\Users\Murray/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\Users\Murray/.ssh/known_hosts:8
ECDSA host key for 10.1.2.235 has changed and you have requested strict checking.
Host key verification failed.
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第18张图片

原因

本地操作系统的目录 C:\Users\ 你自己的Windows账号名 \下;
有个文件夹 .ssh
用来存放ssh的公钥私钥已知主机等信息。Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第19张图片
.ssh文件夹下有个文件 known_hosts 存放主机密钥。
Win10命令行实现对Linux(CentOS)的SSH远程操作、SFTP传输文件_第20张图片
用记事本或其它文本编辑工具打开,可以看到我们进行ssh连接远程系统的所有主机密钥。
找到我个人的主机IP为10.1.2.235的密钥
主机密钥

主要有两个原因:
1.文件known_hosts被篡改
2.出问题的这个IP。在此之前是属于另外一个操作系统的,并且进行过SSH连接,保存了主机密钥信息。后来由于重装了操作系统等原因,IP被新系统取而代之
笔者就是第二个原因,先前虚拟机安装了CentOS 7,并且进行过SSH连接;现在安装了CentOS 8,本地系统再次连接就出现了上述问题

解决方法

删除 known_hosts 里对应的IP主机密钥;
或者简单粗暴,删除_known_hosts_ 文件。

你可能感兴趣的:(Linux,ssh,sftp,linux,centos,windows,ssh,sftp)