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


一、环境搭建:

本地搭建工具清单:

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-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行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操作系统;

相关内容