我想授予某人在我的 Ubuntu 网络服务器上托管一些简单文件的权限。这是针对 IRC 日志记录机器人的。我想给他们无密码的 ssh/scp/rsync/sftp 访问权限。但是我希望能够限制他们可以做什么,换句话说,我不想给他们一个完整的 ssh shell。我还希望能够限制他们可以占用的磁盘空间量,因此他们总共不能使用超过(比如)200MB 的我的磁盘。
不需要但可能很好的奖励选项:限制他们可以上传的文件类型?(可能是 Mime 类型?)当他们上传文件时记录?限制他们的带宽?
我有哪些选择?
我正在为多个服务器的系统管理寻找一个好的 ssh 密码/密钥设置。
理想的解决方案是既舒适又安全,但是在对问题进行了大量思考之后,似乎没有任何解决方案可以接受。
基本上我到达这两个设置:
每台服务器都有一个强大(且唯一)的 root 密码。为了管理它们,我没有使用密码登录,而是在他们的授权密钥中添加了一个带密码的公钥。
我可以使用任何计算机上的私钥/私钥密码组合登录所有这些。
问题:允许直接 root 登录。
另一个:
直接 root 登录已禁用。使用私钥进行相同的设置,以使用 su 权限登录到用户帐户。以用户身份登录后,使用 su 以 root 身份登录(必须输入 root 密码)。
问题。检索每个服务器根密码不是很舒服。更舒服的是,对所有 root 密码使用一个(考虑到不允许直接 root 登录)。
你认为什么更好?你知道其他好的设置吗?提前致谢!
大约一年以来,我已经拥有从所有客户端计算机到服务器的持久隧道。我已经几个月没有更新我的服务器或更改任何配置文件——据我所知——。突然间,我的所有客户端计算机的隧道都停止工作(我为每台计算机使用不同的端口)。
我使用 RSA 密钥。我已经在每台计算机上多次重新生成它们。
当在“ps aux”输出中找不到“clients@my.hostname”时,我有一个脚本通过Cron作业运行以下内容:
ssh -p 2222 -g -T -N -x -f -R 2223:localhost:22 clients@my.hostname
Run Code Online (Sandbox Code Playgroud)
当我使用 -vvv 手动运行此命令时,我可以 ssh 进入服务器,然后 ssh 进入转发端口(ssh localhost -p 2223)就好了。然而,五分钟后,它就挂了。我使用 -vvv 在服务器上得到以下输出:
chad@zeus:~$ ssh localhost -p 2223 -vvv
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [127.0.0.1] port 2223.
debug1: Connection established.
debug1: identity file /home/chad/.ssh/identity type -1
debug3: Not a RSA1 key file /home/chad/.ssh/id_rsa.
debug2: …Run Code Online (Sandbox Code Playgroud) 我希望通过一个简单的 shell 脚本(可能是:BASH)绑定到一个用于 SSH 隧道的端口,我想要一种更......“理智”的方式来测试该端口是否已经绑定到另一个进程,我宁愿不喜欢(阅读:grep)netstat的输出。
是否有一些命令或实用程序可以使这变得理智?我要么有糟糕的 google-fu 和糟糕的词汇,要么大多数人不尝试通过 shell 以编程方式迭代端口,而是通过编程语言。
我正在尝试使用本地服务器上的 SCP,将文件从一台远程服务器复制到另一台远程服务器(两台远程服务器都使用自定义端口 (xxxx))
我在尝试:
scp -r -P xxxx root@xxx.xxx.xxx.111:/home/myimages/images.tar.gz root@xxx.xxx.xxx.222:/home/myimages/images.tar.gz
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
ssh: connect to host xxx.xxx.xxx.222 port 22: Connection timed out
Run Code Online (Sandbox Code Playgroud)
有什么建议?
提前致谢。
我想配置sshd为要求连接使用密钥和密码进行身份验证。
我还没有考虑使用 PAM 或其他外部身份验证方法,但目前我的猜测(基于sshd_config(5)这是不可能的。证明我错了。拜托?
我在通过 svn+ssh 访问的服务器上有一个 svn 存储库。我只有用户访问权限(不是 root),我无法安装 mod_dav。
有没有办法配置对 svn 存储库的多用户访问(即使用多个 ssh 密钥)而不给其他 svn 用户完全的 ssh 访问权限?
通过健壮和低麻烦,我的意思是不涉及复杂的 iptables 设置,不涉及 apache,不需要额外的客户端程序,不需要从 cron 运行脆弱的 shell 脚本等。
有没有人有 sshd 和 ssh(客户端)补丁来启用某种形式的端口敲入内置到 sshd 服务和客户端本身?
例如,在收到正确加密和验证的 UDP 数据包之前拒绝端口 22 上的连接,这很好。
我很失望所有端口敲除解决方案都是无耻的黑客攻击,而不是对相关程序进行良好集成和测试的补丁。
我错过了什么?
我做了一个:chmod 700 on .ssh 文件夹 chmod 600 onauthorized_keys 文件
谢谢!