Linux下只允许用户远程scp

本文将介绍在Linux环境下,让用户不能远程登录 只能使用scp命令

使用到的软件:rssh(http://pizzashack.org/rssh/index.shtml )

环境:centos6.x

配置好eple源

curl firxiao.com/sh/chrepo.sh|sh

将自动配置base 及epel源为阿里云的源。

安装rssh

yum install -y rssh

安装完会多一个二进制的rssh

ls -l /usr/bin/rssh 
-rwxr-x---. 1 root rsshusers 25816 10月  1 02:10 /usr/bin/rssh

配置用户

添加一个test用户并给给予一个密码。  注意用户组及赋予给它的默认shell

useradd test -g rsshusers -s /usr/bin/rssh
echo "test"|passwd --stdin test

对于已经存在的用户可以将其用户组改为rsshusers ,默认shell改为 /usr/bin/rssh 即可

如下命令

usermod -G rsshusers -s /usr/bin/rssh  user_exists

配置rssh

rssh配置文件位于/etc/rssh.conf

在配置文件最后添加

allowscp

验证

第一步 ssh验证

ssh test@localhost 进行验证

#ssh [email protected]
This account is restricted by rssh.
Allowed commands: scp 
If you believe this is in error, please contact your system administrator.
Connection to localhost closed.

第二步 scp验证

scp install.log [email protected]:/home/test
[email protected]‘s password: 
install.log                                  100% 9169     9.0KB/s   00:00

至此配置完成

时间: 2024-10-25 17:29:21

Linux下只允许用户远程scp的相关文章

Linux下非root用户安装软件

下面简要说一下Linux下非root用户安装软件的一般流程:1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码.2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可3. 切换到解压后的目录,运行 ./configure.其选项可以通过 ./configure –help来获取,非root用户下最重要的应该是定义安装目录,即应该定义 ./configure –prefix=/path/to/bin, 对于一些依赖库,可能还需要使用

[计算机网络] Linux下使用corkscrew进行远程连接

最近重装了电脑,使用ssh远程连接机房的机器时,发生连接超时,再ping机房的机器,没有回应,也就是说我的电脑和机房的电脑不是连通的,再ping机房的网关,却可以ping通.于是,就需要找一种通过代理来连接机房的方法:corkscrew. 1 安装corkscrew sudo apt-get install corkscrew 2 配置corkscrew 在用户主目录下新建.corkscrew-auth,将远程机器的用户名和密码以下面的格式放在里面: username:passwd 在用户主目录

linux下非root用户的sudo问题

linux下的root用户是个超级管理员,一般是不用这个用户登录进行操作的,但有时候需要root权限,又不想切换用户的话可以使用sudo命令.但是不是所有的用户都可以使用sudo命令的. 首先可能会遇到下面的提示: ××× is not in the sudoers file.  This incident will be reported. 解决办法: 1.修改/etc/sudoers 文件 #su - #chmod u+w /etc/sudoers 在 root    ALL=(ALL) 

Linux 下 FTP虚拟用户的使用配置

Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用户的权限管理不够灵活.如果想对访问FTP的帐户给予更多的权限,就可以用本地帐户来实现.但是,本地帐户默认情况下是可以登陆Linux系统的,这样对Linux系统来说是一个安全隐患.那么怎么能在灵活的赋予FTP用户权限的前提下,保证FTP服务器乃至整个Linux系统的安全呢?使用虚拟用户就是一种解决办法

在linux下如何终止用户会话?

公司使用的监控工具是cacti,在阈值里的设置是当已登录用户超过2个的时候就会报警.那么,我的疑问就出来了,如何终止多于的用户会话呢?我自己又是哪个用户会话呢,总不能自己把自己给终止会话了吧. 第一步:查看哪些IP在操作服务器,who命令 [[email protected] ~]# who root     tty1         2014-04-20 08:42 root     pts/0        2014-04-20 09:10 (192.168.204.50) 第二步:查看服务

Linux下开启MySQL的远程连接

Linux下开启MySQL的远程连接 基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限.下面是基本的步骤: 1.登录到mysql中,为root进行远程访问的授权,执行下面的命令: mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "root"; mysql> flush privileges; 第一句中"%

linux下非root用户如何修改root权限的文件

在linux下会出现把一些配置文件参数配错.root密码忘记等导致系统无法启动或进入root的窘迫境地,本文以redhat  enterprise linux server 6.4为例介绍root身份修改root权限配置文件的参数后,root无法登录,然后通过linux的rescue模式改回配置文件,巧妙以非root身份修改了root权限的文件的解决方案. 首先,插入linux安装盘重启系统,等到引导进入安装会话,上下移动方向键,选rescue installed system: 第二,进入修复

Linux下如何修改用户默认目录

Linux下默认的用户目录一般为/home/xxx(root用户除外),有些时候我们可能需要修改这个目录,下面我就给大家分享2中修改的方法 工具/原料 Linux操作系统 方法/步骤 1 1.切换到root用户,直接修改/etc/passwd文件,找到你的用户名你一行,如下图所示修改路径,然后保存即可. 2 2.切换到root用户,使用usermod命令,例如usermod -d /tmp test (test为你的用户名),使用该命令请确保该用户下没有运行的软件或进程 3 最后切换到普通账户,

Linux下vsftp匿名用户配置

Linux下vsftp匿名用户上传和下载的配置 配置要注意三部分,请一一仔细对照: 1.vsftpd.conf文件的配置(vi /etc/vsftpd/vsftpd.conf) #允许匿名用户登录FTP anonymous_enable=YES #设置匿名用户的登录目录(如需要,需自己添加并修改) anon_root=/var/ftp/pub #打开匿名用户的上传权限 anon_upload_enable=YES #打开匿名用户创建目录的权限 anon_mkdir_write_enable=YE