无法初始化SFTP协议.主机是SFTP服务器吗

无法初始化SFTP协议.主机是SFTP服务器吗,第1张

rpmbuild -D no_gtk2=1 -D skip_gnome_askpass=1 --rebuild openssh-55p1-24fc142srcrpm

# 再用rpm命令卸载旧版本

rpm -e openssh openssh-server openssh-clients

rm -rf /etc/ssh/

# 安装自己编译的版本

rpm -ivh /root/rpmbuild/RPMS/x86_64/openssh-55p1-24el62x86_64rpm /root/rpmbuild/RPMS/x86_64/openssh-clients-55p1-24el62x86_64rpm /root/rpmbuild/RPMS/x86_64/openssh-server-55p1-24el62x86_64rpm /root/rpmbuild/RPMS/x86_64/openssh-ldap-55p1-24el62x86_64rpm /root/rpmbuild/RPMS/x86_64/pam_ssh_agent_auth-092-2624el62x86_64rpm

# 重启sshd

service sshd restart

云服务器配置可视化php环境界面,要借助第三方一键php包的配置。国人开发了这方面的面板,可以使用。不管使用的是win服务器还是linux 服务器,都可以在三方面板的帮助下,成功配置出可视化操作界面,然后一键部署 worpdress环境。

接下去就是这些步骤了:

1、注册域名

2、选购服务器

3、网站备案

4、搭建网站环境

5、安装网站程序

6、充实网站内容

所有的网站都这么操作出来的,这是个思路,因为这方面内容较多,这里也写不开那么多内容,在这留言或到咱们的 blog找相关内容,老魏写过不止一篇教程,都挺详细的内容,可以帮助你入门。

登陆sftp: 输入密码

登上后,

查看本地目录是:

查看目标服务器默认目录是:

切换本地路径为上传文件目录:

切换目标上传文件目录:

上传文件到目标服务器:

localhost>sftp root@17722212316

从远程主机获取文件或目录到本地目录下

sftp>get /home/remote/indexjsp /home/local/

将本地目录或文件上传到远程目录下

sftp>put /home/local/indexjsp /home/remote/

常用操作

查询远程主机的当前路径:pwd

查询本地主机的当前路径:lpwd

切换远程主机的路径:cd

切换本地主机的路径:lcd

ls rm rmdir mkdir 都可以使用,如果是本地操作则,前缀加l,如:lls lrm lrmdir lmkdir

sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动。

1查看openssh软件版本,想sftp服务用户只能访问特定的文件目录,版本需要48以上

代码如下:

[root@localhost ftp]# rpm -qa | grep openssh

openssh-server-53p1-81el6_3x86_64

openssh-53p1-81el6_3x86_64

openssh-clients-53p1-81el6_3x86_64

2新增用户,限制用户只能通过sftp访问

代码如下:

[root@localhost ftp]# useradd -m -d /opt/ftp/dave -s /sbin/nologin dave

3限制用户通过sftp登录进来时只能进入主目录,修改/etc/ssh/sshd_config文件

代码如下:

[root@localhost ftp]# vim /etc/ssh/sshd_config

#Subsystem sftp /usr/libexec/openssh/sftp-server

Subsystem sftp internal-sftp

Match User dave

ChrootDirectory /opt/ftp/dave

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

重启ssh

4测试访问

代码如下:

root@1011200:test# sftp -oPort=22 dave@1016175

Connecting to 1016175

dave@1016175's password:

Read from remote host 1016175: Connection reset by peer

Couldn't read packet: Connection reset by peer

发现连接不上,查看日志

代码如下:

[root@localhost ftp]# tail /var/log/messages

Jan 6 11:41:41 localhost sshd[4907]: fatal: bad ownership or modes for chroot directory "/opt/ftp/dave"

Jan 6 11:41:41 localhost sshd[4905]: pam_unix(sshd:session): session closed for user dave

解决方法:

目录权限设置上要遵循2点:

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。

如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。

代码如下:

[root@localhost ftp]# ll

total 4

drwxr-xr-x 3 dave dave 4096 Jan 5 13:06 dave

[root@localhost ftp]# chown root:root dave

[root@localhost ftp]# chmod 755 dave

[root@localhost ftp]# ll

total 4

drwxr-xr-x 3 root root 4096 Jan 5 13:06 dave

然后在测试通过

代码如下:

root@1011200:test# sftp -oPort=22 dave@1016175

Connecting to 1016175

dave@1016175's password:

sftp ls

test

sftp cd

sftp ls

test

sftp cd test

sftp ls

1txt

sftp get 1txt

Fetching /test/1txt to 1txt

/test/1txt

可以看到已经限制用户在家目录,同时该用户也不能登录该机器。

有几种工具可用于与服务器交互并控制多个主机。以下是一些选项:

SSH(Secure Shell)-这是一个命令行工具,允许您通过安全连接远程连接和控制服务器。

远程桌面协议(RDP)-这是一个图形工具,允许您通过网络连接远程连接和控制服务器。

VNC(虚拟网络计算)-这是一个图形工具,允许您通过网络连接远程连接和控制计算机。

Telnet-这是一个命令行工具,允许您通过网络连接远程连接和控制服务器。

要控制浇水系统或开关,可以使用可编程逻辑控制器(PLC)或Arduino等微控制器。这些设备可以编程控制各种类型的硬件,包括泵、阀和开关。然后,您可以使用SSH或RDP等工具从网页远程访问和控制PLC或微控制器。

我希望这有帮助!

其安全性主要包括以下几个方面:

一、 未经授权的用户禁止在服务器上进行FTP操作。

二、 FTP用户不能读取未经系统所有者允许的文件或目录。

三、 未经允许,FTP用户不能在服务器上建立文件或目录。

四、 FTP用户不能删除服务器上的文件或目录。

FTP服务器采取了一些验明用户身份的办法来解决上述第一个问题,主要包括以下几个措施:

FTP主目录:将这个目录的所有者设为"FTP",并且将属性设为所有的用户都不可写,防止不怀好意的用户删改文件。

FTP/bin目录:该目录主要放置一些系统文件,应将这个目录的所有者设为"root"(即超级用户),并且将属性设为所有的用户都不可写。为保证合法用户可显示文件,应将目录中的ls文件属性设为可执行。

FTP/etc目录:将这个目录的所有者设为"root",并且将属性设为所有的用户都不可写。将目录下的group文件和passwd文件的属性设为所有用户只读属性,并用编辑器将passwd文件中用户加过密的口令删掉。

###NextPage### FTP/pub目录:将这个目录的所有者置为"FTP",并且将它的属性设为所有用户均可读、写、执行。

这样经过设置,既保证了系统文件不被删改,又保证了FTP合法用户的正常访问。

作为Internet上的FTP服务器,系统的安全性是非常重要的,这是建立FTP服务器者所考虑的第一个问题。其安全性主要包括以下几个方面:

一、 未经授权的用户禁止在服务器上进行FTP操作。

二、 FTP用户不能读取未经系统所有者允许的文件或目录。

三、 未经允许,FTP用户不能在服务器上建立文件或目录。

四、 FTP用户不能删除服务器上的文件或目录。

FTP服务器采取了一些验明用户身份的办法来解决上述第一个问题,主要包括以下几个措施:

FTP主目录:将这个目录的所有者设为"FTP",并且将属性设为所有的用户都不可写,防止不怀好意的用户删改文件。

FTP/bin目录:该目录主要放置一些系统文件,应将这个目录的所有者设为"root"(即超级用户),并且将属性设为所有的用户都不可写。为保证合法用户可显示文件,应将目录中的ls文件属性设为可执行。

FTP/etc目录:将这个目录的所有者设为"root",并且将属性设为所有的用户都不可写。将目录下的group文件和passwd文件的属性设为所有用户只读属性,并用编辑器将passwd文件中用户加过密的口令删掉。

FTP/pub目录:将这个目录的所有者置为"FTP",并且将它的属性设为所有用户均可读、写、执行。

这样经过设置,既保证了系统文件不被删改,又保证了FTP合法用户的正常访问。

SSH是Secure Shell Protocol的简写。在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。确保了传递的数据安全。

SSH是专为远程登陆会话和其他网络服务提供的安全性协议。利用SSH协议可以有效的防止远程管理过程中的信息泄漏问题。

在默认状态下,SSH服务主要提供两个服务功能;一个是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务:另一个类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务 提醒SSH客户端(ssh命令)还包含一个很有用的远程安全拷贝命令scp,也是通过ssh协议工作的

小结:

1)SSH是安全的加密协议,用于远程连接Linux服务器。

2)SSH默认的端口是22,安全协议版本是SSH2,除了2还有ssh1有漏洞

3)SSH服务器端主要包含两个服务器功能SSH远程连接,SFTP服务。

4)Linux SSH客户端包含ssh远程连接命令,以及远程拷贝scp命令等。

修改SSH服务的运行参数,是通过修改配置文件/etc /ssh/sshd_config实现的。

Port 52114 (ssh默认连接端口是22 修改他)

PermitRootLogin no(禁止远程root登陆)

PermitEmptyPasswords no(禁止空密码的登陆)

UseDNS no(不适用DNS)

ListenAddress 17216161:22 (只监听内网IP 可以加端口号)

在远程管理linux系统基本上都要使用到ssh,原因很简单:telnet、FTP等传输方式是‍以明文传送用户认证信息,本质上是不安全的,存在被网络窃听的危险。SSH(Secure Shell)目前较可靠,是专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题,透过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。

ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。两个配置文件都允许你通过设置不同的选项来改变客户端程序的运行方式。下面列出来的是两个配置文件中最重要的一些关键词,每一行为“关键词&值”的形式,其中“关键词”是忽略大小写的。

‍‍1、编辑 /etc/ssh/ssh_config 文件

Site-wide defaults for various options

Host

ForwardAgent no

ForwardX11 no

RhostsAuthentication no

RhostsRSAAuthentication no

‍ RSAAuthentication yes

PasswordAuthentication yes

FallBackToRsh no

UseRsh no

BatchMode no

CheckHostIP yes

StrictHostKeyChecking no

IdentityFile ~/ssh/identity

Port 22

Cipher blowfish

EscapeChar ~

下面对上述选项参数逐进行解释:

Site-wide defaults for various options

带“#”表示该句为注释不起作,该句不属于配置文件原文,意在说明下面选项均为系统初始默认的选项。说明一下,实际配置文件中也有很多选项前面加有“#”注释,虽然表示不起作用,其实是说明此为系统默认的初始化设置。

Host

"Host"只对匹配后面字串的计算机有效,“ ”表示所有的计算机。从该项格式前置一些可以看出,这是一个类似于全局的选项,表示下面缩进的选项都适用于该设置,可以指定某计算机替换 号使下面选项只针对该算机器生效。

ForwardAgent no

"ForwardAgent"设置连接是否经过验证代理(如果存在)转发给远程计算机。

ForwardX11 no

"ForwardX11"设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。

RhostsAuthentication no

"RhostsAuthentication"设置是否使用基于rhosts的安全验证。

RhostsRSAAuthentication no

"RhostsRSAAuthentication"设置是否使用用RSA算法的基于rhosts的安全验证。

RSAAuthentication yes

"RSAAuthentication"设置是否使用RSA算法进行安全验证。

PasswordAuthentication yes

"PasswordAuthentication"设置是否使用口令验证。

FallBackToRsh no

"FallBackToRsh"设置如果用ssh连接出现错误是否自动使用rsh,由于rsh并不安全,所以此选项应当设置为"no"。

UseRsh no

"UseRsh"设置是否在这台计算机上使用"rlogin/rsh",原因同上,设为"no"。

BatchMode no

"BatchMode":批处理模式,一般设为"no";如果设为"yes",交互式输入口令的提示将被禁止,这个选项对脚本文件和批处理任务十分有用。

CheckHostIP yes

"CheckHostIP"设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为"yes"。

StrictHostKeyChecking no

"StrictHostKeyChecking"如果设为"yes",ssh将不会自动把计算机的密匙加入"$HOME/ssh/known_hosts"文件,且一旦计算机的密匙发生了变化,就拒绝连接。

IdentityFile ~/ssh/identity

"IdentityFile"设置读取用户的RSA安全验证标识。

Port 22

"Port"设置连接到远程主机的端口,ssh默认端口为22。

Cipher blowfish

“Cipher”设置加密用的密钥,blowfish可以自己随意设置。

EscapeChar ~

“EscapeChar”设置escape字符。

2、编辑 /etc/ssh/sshd_config 文件:‍

This is ssh server systemwide configuration file

Port 22

ListenAddress 19216811

HostKey /etc/ssh/ssh_host_key

ServerKeyBits 1024

LoginGraceTime 600

KeyRegenerationInterval 3600

PermitRootLogin no

IgnoreRhosts yes

IgnoreUserKnownHosts yes

StrictModes yes

X11Forwarding no

PrintMotd yes

SyslogFacility AUTH

LogLevel INFO

RhostsAuthentication no

RhostsRSAAuthentication no

RSAAuthentication yes

PasswordAuthentication yes

PermitEmptyPasswords no

AllowUsers admin

‍下面逐行说明上面的选项设置:

Port 22

"Port"设置sshd监听的端口号。

ListenAddress 19216811

"ListenAddress”设置sshd服务器绑定的IP地址。

HostKey /etc/ssh/ssh_host_key

"HostKey”设置包含计算机私人密匙的文件。

ServerKeyBits 1024

"ServerKeyBits”定义服务器密匙的位数。

LoginGraceTime 600

"LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。

KeyRegenerationInterval 3600

"KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。

PermitRootLogin no

"PermitRootLogin”设置是否允许root通过ssh登录。这个选项从安全角度来讲应设成"no"。

IgnoreRhosts yes

"IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。

IgnoreUserKnownHosts yes

"IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的"$HOME/ssh/known_hosts”

StrictModes yes

"StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。

X11Forwarding no

"X11Forwarding”设置是否允许X11转发。

PrintMotd yes

"PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。

SyslogFacility AUTH

"SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。

LogLevel INFO

"LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。

RhostsAuthentication no

"RhostsAuthentication”设置只用rhosts或“/etc/hostsequiv”进行安全验证是否已经足够了。

RhostsRSAAuthentication no

"RhostsRSA”设置是否允许用rhosts或“/etc/hostsequiv”加上RSA进行安全验证。

RSAAuthentication yes

"RSAAuthentication”设置是否允许只有RSA安全验证。

PasswordAuthentication yes

"PasswordAuthentication”设置是否允许口令验证。

PermitEmptyPasswords no

"PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。

AllowUsers admin

"AllowUsers”的后面可以跟任意的数量的用户名的匹配串,这些字符串用空格隔开。主机名可以是域名或IP地址。

通常情况下我们在连接 OpenSSH服务器的时候假如 UseDNS选项是打开的话,服务器会先根据客户端的 IP地址进行 DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,并验证是否与原始 IP地址一致,通过此种措施来防止客户端欺骗。平时我们都是动态 IP不会有PTR记录,所以打开此选项也没有太多作用。我们可以通过关闭此功能来提高连接 OpenSSH 服务器的速度。

1)执行命令生成私钥和公钥 ssh-keygen -t dsa 如图:

3)我们切换过去就不需要密码了 如图

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 无法初始化SFTP协议.主机是SFTP服务器吗

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情