如何简单利用ssh实现window与Linux文件的互传?

简介: 一、环境搭建:本地搭建工具清单:1)、Linux(centos)操作系统;2)、vmplayer虚拟机;3)、ssl ftp工具 FileZilla FTP Client;注意以上工具中vmplayer...

一、环境搭建:

本地搭建工具清单:

1)、Linux(centos)操作系统;

2)、vmplayer虚拟机;

3)、ssl ftp工具 FileZilla FTP Client;

注意以上工具中vmplayer和centos 非必须,可以替换为docker一键搭建Linux操作系统;

1、搭建一个Linux操作系统,这里测试可以搭建在自己pc电脑上,这里我们选用云服务器测试,一键部署centos7.2服务器,如使用本机安装需要先去centos官网去下载最新版本操作系统,官网下载地址见https://www.centos.org/download/

2、安装一个支持ssl ftp的 FileZilla FTP Client工具,下载window安装包,下一步即可傻瓜式的完成安装;window下载地址https://filezilla-project.org/download.php

这里不具体介绍vmplayer 如何安装centos步骤,如不懂的,可以网上搜索,应该有大量的文章介绍;

下一步我们继续介绍window如何与linux互传文件的相应的配置,其实原理很简单,利用sshd 这个服务去实现;

二、简单介绍一下ssh,以及sshd与ssh 有什么差别;

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UXLinuxAIXSolarisDigital UNIXIrix,以及其他平台,都可运行SSH。

1、sshd 是ssh的服务端程序脚本;

2、ssh 是使用 ssl链接的ssh客户端;

这里由于我们要实现window与linux的互传,需要在Linux上安装sshd并启动;

查看SSH是否安装(检查是否装了SSH包)。
输入命令:rpm -qa | grep ssh 或者(rpm -qa | grep openssh)
检查系统是否安装了ssh,如有即可直接使用;

下面是yum安装脚本:

先来搜索一下sshd

1、yum search sshd


Loaded plugins: fastestmirror, replace
Determining fastest mirrors
 * base: mirrors.cloud.aliyuncs.com
 * extras: mirrors.cloud.aliyuncs.com
 * updates: mirrors.cloud.aliyuncs.com
 * webtatic: uk.repo.webtatic.com
========================================= Matched: sshd =========================================
fail2ban.noarch : Daemon to ban hosts that cause multiple authentication errors
gsi-openssh-server.x86_64 : SSH server daemon with GSI authentication
jsch.noarch : Pure Java implementation of SSH2
libnss-mysql.x86_64 : NSS library for MySQL
openssh-server.x86_64 : An open source SSH server daemon
2、我们找到了openssh-server.x86_64 这个软件,开始安装:

yum install openssh-server.x86_64

3、等到安装完后,可以使用默认到配置信息启动;

service sshd start 或者 sudo /etc/init.d/sshd start

4、查看sshd是否成功启动

ps -ef|grep sshd 或是 sudo /etc/init.d/sshd status 或者(service sshd status)

5、停止sshd命令

service sshd stop 或是 kill pid  或 sudo /etc/init.d/sshd stop
以上就是sshd 的整个安装运行过程;

三、其他高级设置

如自动随系统启动:

1、检查sshd是否在本运行级别下设置为开机启动
输入命令:chkconfig --list sshd 
查看CentOS 系统中SSH服在本运行级别下是否已经设置为开机启动,如果没设置启动就使用如下命令[chkconfig --level 2345 sshd on]设置下即可。

2、设置SSH服务为开机启动。
输入命令:chkconfig sshd on 即可。
注:若是 chkconfig sshd off 则禁止SSH开机启动。

OpenSSH服务器配置 vim /etc/ssh/sshd_config 文件重要参数以及作用,这里根据自己的需求进行设置。

# cat /etc/ssh/sshd_config |grep -v '#'|grep -v ^$
Port 22 --监听端口
Protocol 2 --使用版本2
ListenAddress 0.0.0.0 --监听地址
LoginGraceTime 2m --登录超时时间
PermitRootLogin yes --允许root通过ssh登录
MaxAuthTries 6 --密码尝试6次
RSAAuthentication yes --支持ras加密
PubkeyAuthentication yes --是否支持密钥对验证
AuthorizedKeysFile .ssh/authorized_keys --服务端更新密钥对密钥对验证时,客服端公钥存储文件

PermitEmptyPasswords no --是否允许空密码登录
PasswordAuthentication yes --是否支持账号/密码登录方式
UseDNS no --禁用DNS反解
Subsystem sftp /usr/libexec/openssh/sftp-server --支持sftp
AllowUsers root 只允许root 可以远程
DenyUsers
AllowGroups

参数 作用
Port 22 默认的sshd服务端口
ListenAddress 0.0.0.0 设定sshd服务器监听的IP地址
Protocol 2 SSH协议的版本号 1,2
HostKey /tc/ssh/ssh_host_key SSH协议版本为1时,DES私钥存放的位置
HostKey /etc/ssh/ssh_host_rsa_key SSH协议版本为2时,RSA私钥存放的位置
HostKey /etc/ssh/ssh_host_dsa_key SSH协议版本为2时,DSA私钥存放的位置
PermitRootLogin yes/no 设定是否允许root管理员直接登录
StrictModes yes 当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6 最大密码尝试次数
MaxSessions 10 最大终端数
PasswordAuthentication yes/no 是否允许密码验证
PermitEmptyPasswords yes/no

是否允许空密码登录(很不安全)

 

 

四、使用FileZilla FTP Client 来互传文件

FileZilla FTP Client 的使用很简单,打开软件,填入你的服务器IP、默认端口(22为sftp,21为ftp)、账号、密码即可成功登录;

 

登录成功后即可看到文件清单,可以与window愉快的互传文件了;

当然sshd 的强大不仅仅是互传文件哦,你还可以通过一些ssh客户端工具(如SSH 、Xshell、Putty 等)管理你的整个Linux操作系统;

目录
相关文章
|
5天前
|
Linux
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
24 5
Linux 常用文件查看命令
|
18天前
|
存储 Linux Shell
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
29 2
Linux|Transfer.sh 轻松实现文件共享
|
1月前
|
存储 网络协议 Linux
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
80 34
|
11天前
|
Linux 网络安全 虚拟化
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
95 1
|
27天前
|
Linux
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
42 14
|
22天前
|
Linux Shell
Linux 将所有文件和目录名重命名为小写
Linux 将所有文件和目录名重命名为小写
26 3
|
3月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
104 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
3月前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
383 14
|
3月前
|
存储 NoSQL Linux
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
222 6
|
3月前
|
存储 NoSQL Linux
linux之core文件如何查看和调试
通过设置和生成 core 文件,可以在程序崩溃时获取详细的调试信息。结合 GDB 等调试工具,可以深入分析 core 文件,找到程序崩溃的具体原因,并进行相应的修复。掌握这些调试技巧,对于提高程序的稳定性和可靠性具有重要意义。
729 6