centos ssh chroot,centos7ssh连接不上

各位老铁们好,相信很多人对centos ssh chroot都不是特别的了解,因此呢,今天就来为大家分享下关于centos ssh chroot以及centos7ssh连接不上的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

linux如何ssh进入另一台服务器linux如何ssh

LinuxSuse9.3如何配置ssh服务?

suselinux查看ssh服务的方法查询安装SSH服务1.登陆linux系统,打开终端命令。输入rpm-qa|grepssh查找当前系统是否已经安装2.如果没有安装SSH软件包,可以通过yum或rpm安装包进行安装(具体就不截图了)启动SSH服务2安装好了之后,就开启ssh服务。Ssh服务一般叫做SSHD命令行输入servicesshdstart可以启动或者使用/etc/init.d/sshdstart配置查看SSHD端口3查看或编辑SSH服务配置文件,如vi/etc/ssh/sshd.config如果要修改端口,把port后面默认的22端口改成别的端口即可(注意前面的#号要去掉)远程连接SSH4如果需要远程连接SSH,需要把22端口在防火墙上开放。.关闭防火墙,或者设置22端口例外

如何配置ssh客户端,怎么ssh连接Linux服务器?

在Linuxe服务器上开启远程和端口。内网的话直接用地址加端口即可连接。外网需要做端口映射。

1.开启ssh(secureshell)服务(我的是linuxubuntu10.10),当然在开启ssh服务之前,需要下载相关得软件,使用下面得命令即可:sudoapt-getinstallssh然后进入/etc/init.d输入命令:sudoservicesshstart开启ssh服务使用netstat-tln查看ssh服务是否已经打开(ssh服务默认使用22端口)若要关闭ssh服务时,使用:sudoservicesshstop即可关闭ssh服务

2.在客户端(widnows主机)上下载ssh客户端putty,填写linux服务器ip,sessionname然后保存,打开,输入用户名,和密码,那么就登录成功了

在Linux系统下使用SSH实现端口映射的方法?

从技术角度来分析,几个要求:

1、从安全方面看,sftp会更安全一点

2、线上服务器提供在线服务,对用户需要控制,只能让用户在自己的home目录下活动

3、用户只能使用sftp,不能ssh到机器进行操作

提供sftp服务,可以用系统自带的internal-sftp,也可以使用vsftpd,这里需求不多,直接选用internal-sftp。

限制用户只能在自己的home目录下活动,这里需要使用到chroot,openssh4.8p1以后都支持chroot,我现在用的是centos6.3,自带的openssh已经是5.3p1,足够了。

可以输入:

#ssh-v

来查看openssh的版本,如果低于4.8p1,需要自行升级安装,不在这里具体介绍了。

假设,有一个名为sftp的组,这个组中的用户只能使用sftp,不能使用ssh,且sftp登录后只能在自己的home目录下活动

1、创建sftp组

#groupaddsftp

2、创建一个sftp用户,名为mysftp

#useradd-gsftp-s/bin/falsemysftp

#passwdmysftp

3、sftp组的用户的home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个mysftp目录,然后指定mysftp的home为/data/sftp/mysftp

#mkdir-p/data/sftp/mysftp

#usermod-d/data/sftp/mysftpmysftp

4、配置sshd_config

编辑/etc/ssh/sshd_config

#vim+132/etc/ssh/sshd_config

找到如下这行,并注释掉

subsystemsftp/usr/libexec/openssh/sftp-server

添加如下几行

subsystemsftpinternal-sftp

matchgroupsftp

chrootdirectory/data/sftp/%u

forcecommandinternal-sftp

allowtcpforwardingno

x11forwardingno

解释一下添加的几行的意思

subsystemsftpinternal-sftp

这行指定使用sftp服务使用系统自带的internal-sftp

matchgroupsftp

这行用来匹配sftp组的用户,如果要匹配多个组,多个组之间用逗号分割

当然,也可以匹配用户

matchusermysftp

这样就可以匹配用户了,多个用户名之间也是用逗号分割,但我们这里按组匹配更灵活和方便

chrootdirectory/data/sftp/%u

用chroot将用户的根目录指定到/data/sftp/%u,%u代表用户名,这样用户就只能在/data/sftp/%u下活动,chroot的含义,可以参考这里:

forcecommandinternal-sftp

指定sftp命令

allowtcpforwardingno

x11forwardingno

这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉

5、设定chroot目录权限

#chownroot:sftp/data/sftp/mysftp

#chmod755/data/sftp/mysftp

错误的目录权限设定会导致在log中出现”fatal:badownershipormodesforchrootdirectoryxxxxxx”的内容

目录的权限设定有两个要点:

1、由chrootdirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root

2、由chrootdirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限

所以遵循以上两个原则

1)我们将/data/sftp/mysftp的所有者设置为了root,所有组设置为sftp

2)我们将/data/sftp/mysftp的权限设置为755,所有者root有写入权限,而所有组sftp无写入权限

6、建立sftp用户登入后可写入的目录

照上面设置后,在重启sshd服务后,用户mysftp已经可以登录,但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为mysftp,所有组为sftp,所有者有写入权限,而所有组无写入权限

#mkdir/data/sftp/mysftp/upload

#chownmysftp:sftp/data/sftp/mysftp/upload

#chmod755/data/sftp/mysftp/upload

7、重启sshd服务

#servicesshdrestart

到这里,mysftp已经可以通过sftp客户端登录并可以上传文件到upload目录。

如果还是不能在此目录下上传文件,提示没有权限,检查selinux是否关闭,可以使用如下指令关闭selinux

修改/etc/selinux/config文件中的selinux=""为disabled,然后重启。或者

#setenforce0

Linux服务器之间怎么样SSH不需密码?

ssh-keygen可以用来生成private和public密钥.将生成的public密钥拷贝到远程机器后,可以使ssh到另外一台机器的登陆不用密码.具体方法如下.

1)在本地机器中的~/.ssh/目录下执行下命令,ssh-keygen-tdsa将生成两个文件,id_dsa和id_dsa.pub.

2)将id_dsa.pub拷贝到远程机器,并且将id_dsa.pub的内容添加到~/.ssh/authorized_keys中.catid_dsa.pub>>authorized_keys注意:目录.ssh和文件authorized_keys的权限必须是600.完成这些工作后,用户从本地机器到远程机器的登录就不用密码了.

linux如何修改默认SSH端口?

ssh服务器软件配置文件在/etc/ssh/目录下步骤如下1.进入到此目录#cd/etc/ssh2.编辑其配置文件sshd_config#vimsshd_config3.在里边找到一行#Port22此行很靠前,几乎就在文件的开头处不远,将此行的#号去掉然后就是后边加你想要改成为的端口号我这里就改成了2343Port23434.重新启动sshd服务#servicdsshdrestart5.到此ssh端口更改为2343注意连接ssh时要相应更改端口号如ssh192.168.11.1222343

ssh怎么登录FTPssh怎么登录

如何打开SSH的FTP帐户

我们开始吧:

首先修改sshd的配置文件:

$sudonano/etc/ssh/sshd_config

修改该文件的结尾,如下所示:

#子系统sftp/usr/lib/OpenSSH/sftp-服务器

#注释掉这一行(上面的那一行)

子系统sftp内部-sftp

匹配组sftp

#匹配sftp组,如果单个用户可用:匹配用户用户名

ChrootDirectory/sftphome/

#指定锁定用户的目录。为了使chroot成功,该目录必须由root所有,并且不能由其他用户或组写入。

X11转发号

AllowTcpForwarding编号

内部强制命令-sftp

#使用PAM是

#这一行(上面的行)也被注释掉,或移到子系统sftpinternal-sftp的顶部。

下面设置了sftp组和属于sftp组的testuserTestUser:

$sudo组添加sftp

$sudouseradd-d/testuser-s/bin/false-gsftptestuser

$sudo密码测试用户

创建Ftp目录:

$sudomkdir-p/sftphome/testuser

重新启动SSH服务sshd:

$sudo/etc/init.d/sshreload

此时,使用具有sftp功能的客户端软件,如filezilla、flashfxp,就可以使用testuser登录使用sftp的服务器;

但是,此时无法在/sftphome/testuser目录中创建或修改文件,因此有必要修改目录权限,并将testuser目录所有者授予用户testuser:

$sudochowntestuser:sftp/sftphome/testuser

这样,testuser用户可以自由地操作这个目录。

SSH与FTP之间的关系与区别?

协议不一样。ftp一般用21端口;sftp是22端口,ssh服务提供的,有加密,传输安全性高

电脑术语ssh,rdp,ftp,vnc分别是什么意思?

ssh用来连接远程主机(linux或unix),数据传输是加密的,和telnet一样的,只是telnet的数据传输没加密,数据安全性存在问题;

ftp是文件上传下载协议(linux或unix);

vnc和rdp都是用来连接远程主机的,不过一般rdp用来远程windows的多,linux和unix也对rdp支持。

如何创建ftp服务器用户名和密码?

1:如果是可以以shell登录的纯系统用户,可以直接用用户ssh登录到用户系统,passwd修改用户命令如果是系统用户,但不能shell登录,这个估计也改不了。

2:如果是通过数据库认证的ftp用户,估计你需在拿到数据库的权限才能改。

ssh访问端口是什么?

SSH的访问端口是TCP22。

TCP很重要,因为传统上SSH在通过TCP(而不是UDP)提供的可靠连接上工作。

譬如,SSH端口22由IANA或互联网号码分配机构(InternetAssignedNumbersAuthority)的TatuYlonen于1995年注册。SSH旨在取代telnet和FTP。Telnet使用端口号21,而Ftp使用端口号23。端口22当时是空闲的,并且作为Telnet和FTP的替代,SSH被分配给TCP22。

在Linux系统下使用SSH实现端口映射的方法?

从技术角度来分析,几个要求:

1、从安全方面看,sftp会更安全一点

2、线上服务器提供在线服务,对用户需要控制,只能让用户在自己的home目录下活动

3、用户只能使用sftp,不能ssh到机器进行操作

提供sftp服务,可以用系统自带的internal-sftp,也可以使用vsftpd,这里需求不多,直接选用internal-sftp。

限制用户只能在自己的home目录下活动,这里需要使用到chroot,openssh4.8p1以后都支持chroot,我现在用的是centos6.3,自带的openssh已经是5.3p1,足够了。

可以输入:

#ssh-v

来查看openssh的版本,如果低于4.8p1,需要自行升级安装,不在这里具体介绍了。

假设,有一个名为sftp的组,这个组中的用户只能使用sftp,不能使用ssh,且sftp登录后只能在自己的home目录下活动

1、创建sftp组

#groupaddsftp

2、创建一个sftp用户,名为mysftp

#useradd-gsftp-s/bin/falsemysftp

#passwdmysftp

3、sftp组的用户的home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个mysftp目录,然后指定mysftp的home为/data/sftp/mysftp

#mkdir-p/data/sftp/mysftp

#usermod-d/data/sftp/mysftpmysftp

4、配置sshd_config

编辑/etc/ssh/sshd_config

#vim+132/etc/ssh/sshd_config

找到如下这行,并注释掉

subsystemsftp/usr/libexec/openssh/sftp-server

添加如下几行

subsystemsftpinternal-sftp

matchgroupsftp

chrootdirectory/data/sftp/%u

forcecommandinternal-sftp

allowtcpforwardingno

x11forwardingno

解释一下添加的几行的意思

subsystemsftpinternal-sftp

这行指定使用sftp服务使用系统自带的internal-sftp

matchgroupsftp

这行用来匹配sftp组的用户,如果要匹配多个组,多个组之间用逗号分割

当然,也可以匹配用户

matchusermysftp

这样就可以匹配用户了,多个用户名之间也是用逗号分割,但我们这里按组匹配更灵活和方便

chrootdirectory/data/sftp/%u

用chroot将用户的根目录指定到/data/sftp/%u,%u代表用户名,这样用户就只能在/data/sftp/%u下活动,chroot的含义,可以参考这里:

forcecommandinternal-sftp

指定sftp命令

allowtcpforwardingno

x11forwardingno

这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉

5、设定chroot目录权限

#chownroot:sftp/data/sftp/mysftp

#chmod755/data/sftp/mysftp

错误的目录权限设定会导致在log中出现”fatal:badownershipormodesforchrootdirectoryxxxxxx”的内容

目录的权限设定有两个要点:

1、由chrootdirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root

2、由chrootdirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限

所以遵循以上两个原则

1)我们将/data/sftp/mysftp的所有者设置为了root,所有组设置为sftp

2)我们将/data/sftp/mysftp的权限设置为755,所有者root有写入权限,而所有组sftp无写入权限

6、建立sftp用户登入后可写入的目录

照上面设置后,在重启sshd服务后,用户mysftp已经可以登录,但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为mysftp,所有组为sftp,所有者有写入权限,而所有组无写入权限

#mkdir/data/sftp/mysftp/upload

#chownmysftp:sftp/data/sftp/mysftp/upload

#chmod755/data/sftp/mysftp/upload

7、重启sshd服务

#servicesshdrestart

到这里,mysftp已经可以通过sftp客户端登录并可以上传文件到upload目录。

如果还是不能在此目录下上传文件,提示没有权限,检查selinux是否关闭,可以使用如下指令关闭selinux

修改/etc/selinux/config文件中的selinux=""为disabled,然后重启。或者

#setenforce0

查看linux的ssh端口查看Linux的ssh

如何在linux下配置ssh和sftp使用不同的端口号?

1、两个deamon

要实现ssh和sftp分离,分别监听不同的端口,可以通过创建两个‘/usr/sbin/sshd’后台程序,一个监听22端口(ssh),一个监听20022端口(sftp),为了区分ssh和sftp服务的后台程序,这里将ssh服务的后台程序保持为/usr/sbin/sshd,而将sftp服务的后台程序改为/usr/sbin/sftpd。/usr/sbin/sftpd是/usr/sbin/sshd的一个链接,其内容完全相同(ln-sf/usr/sbin/sshd/usr/sbin/sftpd)。

2、两个service

SLES12使用systemd管理系统服务,ssh服务对应/usr/lib/systemd/system/sshd.service文件,实现sftp服务时可以将/usr/lib/systemd/system/sshd.service复制到/etc/systemd/system/sftpd.service,然后修改sftpd.service文件内容。(使用修改好的sftpd.service文件即可)

3、其他文件系统的ssh服务是通过安装openssh实现的,可以通过rpm-qlopenssh查看该rpm包含哪些文件。总结实现ssh和sftp分离的相关的文件有:

ssh服务sftp服务

/usr/lib/systemd/system/sshd.service/etc/systemd/system/sftpd.service(通过修改/usr/lib/systemd/system/sshd.service文件得到)

/etc/pam.d/sshd/etc/pam.d/sftpd(通过复制/etc/pam.d/sshd文件得到)

/etc/ssh/sshd_config/etc/ssh/sftpd_config(通过复制/etc/ssh/sshd_config文件得到)

/usr/sbin/rcsshd/usr/sbin/rcsftpd(ln-sf/usr/sbin/service/usr/sbin/rcsftpd)

/usr/sbin/sshd/usr/sbin/sftpd(ln-sf/usr/sbin/sshd/usr/sbin/sftpd)

/etc/sysconfig/ssh/etc/sysconfig/sftp(通过修改/etc/sysconfig/ssh文件得到)

至此,我们已经实现了两个服务。

但是,ssh服务和sftp服务并没有真正的分离,此时已然可以通过22号端口使用ssh服务和sftp服务,而新开的20022端口也可以使用ssh服务(ssh-p20022username@serverip)和sftp服务(sftp-oPort=20022username@serverip)。

4、关闭22号端口下的sftp服务编辑/usr/sbin/sshd的配置文件/etc/ssh/sshd_config文件,将Subsystem参数注释掉,然后重启sshd同时也可以设置可访问22号端口的用户白名单:编辑/etc/ssh/sshd_config文件,设置AllowGroups参数(假设设置为AllowGroupssshonly),限制仅AllowGroups组内的用户可通过22号端口ssh登录系统(对于需要ssh登录系统的用户可通过usermod-Asshonlyusername>将其加入到AllowGroups组内)

5、“关闭20022号端口下的ssh服务”sftp作为一个子服务,它的开启依赖于ssh服务,因此不能从本质上关闭ssh服务而只开启sftp服务。可以用以下方式来规避:/usr/sbin/sftpd的配置文件/etc/ssh/sftpd_config中包含Subsystem参数配置(推荐使用Subsystemsftpinternal-sftp-lINFO-fAUTH)/etc/ssh/sftpd_config中包含AllowGroups参数(假设为AllowGroupssftponly),限制仅AllowGroups组内的用户可以访问20022端口将AllowGroups组内的用户的shell改为/bin/false(usermod-s/bin/falseusername>),使AllowGroups组内的用户仅能sftp登录系统(如果一个用户即需要ssh,又需要sftp,则不能将其shell改为/bin/false)

6、用户白名单配置配置之后,需将系统内需要ssh访问系统的用户加入到sshonly组内,需将系统内需要sftp访问系统的用户加入到sftponly组,同时需要ssh和sftp的用户则sshonly和sftponly组都要加入。

7、重启ssh服务和sftp服务,并设置开机启动

servicesshdrestartservicesftpdrestart

linux怎么通过ssh访问另一台服务器?

举例说明:如用root帐号连接一个IP为192.168.1.102的机器,输入:“ssh192.168.1.102-lroot”,回车后输入root帐号的密码再回车确认即可。如果该服务器的ssh端口不是默认的22端口,是自定义的一个如1234,则可在命令后面加参数-p,如:“ssh192.168.1.102-lroot-p1234”

在Linux系统下使用SSH实现端口映射的方法?

从技术角度来分析,几个要求:

1、从安全方面看,sftp会更安全一点

2、线上服务器提供在线服务,对用户需要控制,只能让用户在自己的home目录下活动

3、用户只能使用sftp,不能ssh到机器进行操作

提供sftp服务,可以用系统自带的internal-sftp,也可以使用vsftpd,这里需求不多,直接选用internal-sftp。

限制用户只能在自己的home目录下活动,这里需要使用到chroot,openssh4.8p1以后都支持chroot,我现在用的是centos6.3,自带的openssh已经是5.3p1,足够了。

可以输入:

#ssh-v

来查看openssh的版本,如果低于4.8p1,需要自行升级安装,不在这里具体介绍了。

假设,有一个名为sftp的组,这个组中的用户只能使用sftp,不能使用ssh,且sftp登录后只能在自己的home目录下活动

1、创建sftp组

#groupaddsftp

2、创建一个sftp用户,名为mysftp

#useradd-gsftp-s/bin/falsemysftp

#passwdmysftp

3、sftp组的用户的home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个mysftp目录,然后指定mysftp的home为/data/sftp/mysftp

#mkdir-p/data/sftp/mysftp

#usermod-d/data/sftp/mysftpmysftp

4、配置sshd_config

编辑/etc/ssh/sshd_config

#vim+132/etc/ssh/sshd_config

找到如下这行,并注释掉

subsystemsftp/usr/libexec/openssh/sftp-server

添加如下几行

subsystemsftpinternal-sftp

matchgroupsftp

chrootdirectory/data/sftp/%u

forcecommandinternal-sftp

allowtcpforwardingno

x11forwardingno

解释一下添加的几行的意思

subsystemsftpinternal-sftp

这行指定使用sftp服务使用系统自带的internal-sftp

matchgroupsftp

这行用来匹配sftp组的用户,如果要匹配多个组,多个组之间用逗号分割

当然,也可以匹配用户

matchusermysftp

这样就可以匹配用户了,多个用户名之间也是用逗号分割,但我们这里按组匹配更灵活和方便

chrootdirectory/data/sftp/%u

用chroot将用户的根目录指定到/data/sftp/%u,%u代表用户名,这样用户就只能在/data/sftp/%u下活动,chroot的含义,可以参考这里:

forcecommandinternal-sftp

指定sftp命令

allowtcpforwardingno

x11forwardingno

这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉

5、设定chroot目录权限

#chownroot:sftp/data/sftp/mysftp

#chmod755/data/sftp/mysftp

错误的目录权限设定会导致在log中出现”fatal:badownershipormodesforchrootdirectoryxxxxxx”的内容

目录的权限设定有两个要点:

1、由chrootdirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root

2、由chrootdirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限

所以遵循以上两个原则

1)我们将/data/sftp/mysftp的所有者设置为了root,所有组设置为sftp

2)我们将/data/sftp/mysftp的权限设置为755,所有者root有写入权限,而所有组sftp无写入权限

6、建立sftp用户登入后可写入的目录

照上面设置后,在重启sshd服务后,用户mysftp已经可以登录,但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为mysftp,所有组为sftp,所有者有写入权限,而所有组无写入权限

#mkdir/data/sftp/mysftp/upload

#chownmysftp:sftp/data/sftp/mysftp/upload

#chmod755/data/sftp/mysftp/upload

7、重启sshd服务

#servicesshdrestart

到这里,mysftp已经可以通过sftp客户端登录并可以上传文件到upload目录。

如果还是不能在此目录下上传文件,提示没有权限,检查selinux是否关闭,可以使用如下指令关闭selinux

修改/etc/selinux/config文件中的selinux=""为disabled,然后重启。或者

#setenforce0

如何关闭linux下的ssh服务?

chkconfig--level2345sshdon--level指定系统在2345运行级别时,通常在35中开启就行,开启(on)sshd服务,关闭则用(off)临时控制启动停止则用:/etc/rc.d/init.d/sshdstart|stop|restart

ssh只能登linux吗?

ssh并不是只能登linux操作系统。ssh是unix操作系统用于远程登录的程序。

ssh的开源免费版是openssh,它源于openBSD操作系统。在服务器端启用sshd之后,就可以从远程登录服务器。目前所有类unix的操作系统都操供ssh服务。所以ssh能登录所有类unix操作系统。

阅读剩余
THE END