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

1 篇文章 0 订阅
1 篇文章 0 订阅

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

1》打开Windows命令行

方式一:

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

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

方式二:

使用快捷键win+R,在弹出的窗口输入cmd
运行弹框
输入CMD
回车或确认后打开windows运行命令行窗口,笔者的字体颜色是绿色,大部分童鞋的字体颜色是还是白色的出现命令行弹窗

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

查看对外IP方式:

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

查看云服务器IP

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

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

第一次本地进行远程连接Linux是酱紫的:
第一次ssh连接

有了第一次调教之后再次连接是酱紫的:
第N次SSH连接

连接成功之后我们就可以随心所欲的在远程机器上使用命令了,当你复制了一条命令之后,鼠标右键即可粘贴
使用命令

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

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

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

第一次连接远程Linux系统是酱紫的:
SFTP第一次连接远程Linux系统
有了第一次调教之后再次连接是酱紫的:
第N次连接

连接成功后输入命令 lcd 文件所在目录 , 例如我这边的文件目录是E:\upload
再输入命令 lls 就能看到我们之前放在本地系统 E:\upload 里的三个文件
查看本地文件

好了,现在我们开始本地上传这三个文件,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连接
eixt退出连接
关闭sftp连接

3》意外情况汇总处理

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

1. ifconfig命令失效

问题描述

-bash: ifconfig: 未找到命令

-bash: ifconfig: command not found

解决方法一:

使用命令ip addr使用命令ip addr

解决方法二:

yum -y install net-tools 安装相关工具
安装ifconfig包再次使用ifconfig 诶可以了
再次使用ifconfig

2. 虚拟机没有显示IP

问题描述

使用ifconfig 命令没有显示IP地址
不显示IP地址
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
ifcfg-ens32内容
按下 “ i ” 键,进行编辑
ONBOOT=no 改成ONBOOT=yes

好了,按下Esc 键退出编辑模式,再按下 :wq (注意此处冒号为英文冒号)
保存并退出
按下回车,保存并退出
推出
cat ifcfg-ens32 cat 加上自己的配置文件名称,确实已修改完成
在这里插入图片描述
reboot重启系统,等待重启完成后,登录系统;
ifconfig 再次查看,好了可以拿到这台虚拟机的对外IP了。
之后我们就可以进行相关远程连接操作了。
再次查看

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.
连接出错

原因

本地操作系统的目录 C:\Users\ 你自己的Windows账号名 \下;
有个文件夹 .ssh
用来存放ssh的公钥私钥已知主机等信息。个人用户文件夹
.ssh文件夹下有个文件 known_hosts 存放主机密钥。
known_hosts
用记事本或其它文本编辑工具打开,可以看到我们进行ssh连接远程系统的所有主机密钥。
找到我个人的主机IP为10.1.2.235的密钥
主机密钥

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

解决方法

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

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值