一、环境搭建:

本地搭建工具清单:

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)、账号、密码即可成功登录;

wmware怎么给centos传文件 centos7和windows互传文件_centos

 

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

wmware怎么给centos传文件 centos7和windows互传文件_操作系统_02

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