我创build了一个私人/公共的dsa-keypair。 我把公钥放在了服务器上 ~/.ssh/authorized_keys 一切都像我的其他服务器设置,但似乎服务器只是无视我的努力。
我最近阅读了一篇关于分析恶意SSHlogin尝试的文章 。 这让我想到,在我的Debian盒子上的SSH用户名,密码组合是不是很普遍? 如果我被powershell字典攻击的目标? 我们来看看/var/log/auth.log.0 : Sep 23 07:42:04 SLUG sshd[8303]: Invalid user tyjuan from 210.168.200.190 Sep 23 07:42:09 SLUG sshd[8305]: Invalid user tykeedra from 210.168.200.190 Sep 23 07:42:14 SLUG sshd[8307]: Invalid user tykeem from 210.168.200.190 Sep 23 07:42:19 SLUG sshd[8309]: Invalid user tykeshia from 210.168.200.190 Sep 23 07:42:25 SLUG sshd[8311]: Invalid user tyla from […]
//更新2月8日 – 突出问题简述: 如何umask目录不同于文件? 如何掩饰鹦鹉螺复制/粘贴? 如何为SSHFS设置umask? 我们的情况 我们公司的几个人login到服务器并上传文件。 他们都需要能够上传和覆盖相同的文件。 他们有不同的用户名,但都是同一组的一部分。 但是,这是一个互联网服务器,所以“其他”用户应该(一般来说)只读访问。 所以我想要的是这些标准的权限: 文件:664 目录:771 我的目标是所有用户不需要担心权限。 服务器的configuration方式应使这些权限适用于新创build,复制或覆盖的所有文件和目录。 只有当我们需要一些特殊的权限,我们会手动改变这一点。 我们通过Nautilus中的SFTP将file upload到服务器,通过使用sshfs挂载服务器并在Nautilus中像访问本地文件夹一样访问它,并通过命令行中的SCP进行访问。 这基本上涵盖了我们的情况和我们的目标。 现在,我读了许多关于美丽的umaskfunction的东西。 从我所了解的umask(和PAM一起) 应该让我做到我想要的:为新的文件和目录设置标准的权限。 但是,经过了许多个小时的阅读和反复试验,我仍然没有得到这个工作。 我得到许多意想不到的结果 我真的很想搞好umask,还有很多问题没有答案。 我将在下面发表这些问题,以及我的调查结果和对导致这些问题的试验的解释。 鉴于很多事情似乎出了问题,我认为我做了几件事情是错误的。 因此,有很多问题。 注:我使用的是Ubuntu 9.10,因此无法更改sshd_config以设置SFTP服务器的umask。 已安装SSH OpenSSH_5.1p1 Debian-6ubuntu2 <必需OpenSSH 5.4p1。 所以在这里去回答问题。 1.我是否需要重新启动PAM CHANGS才能生效? 我们先从这个开始。 有太多的文件涉及,我无法弄清楚什么是什么,什么不影响事情,也因为我不知道是否必须重新启动整个系统PAM更改才能生效。 在没有看到预期的结果之后,我确实这样做了,但这真的有必要吗? 或者我可以从服务器注销并重新login,并且新的PAM策略是否有效? 还是有一些“PAM”程序来重新加载? 2.是否有一个单一的文件改变,影响所有会议的所有用户? 所以我最终改变了许多文件,因为我读了很多不同的东西。 我结束了在以下文件中设置umask: ~/.profile -> umask=0002 ~/.bashrc -> umask=0002 /etc/profile -> […]
我正在创build一个仅适用于SFTP的Docker容器,一个供多人使用的容器,用于在他们自己的chroot ed环境中上传和pipe理文件。 在纸上,这是非常安全的:我将禁用每一种forms的bashlogin,我不会在其中运行任何其他进程。 不过,我想稍微加强一点: 我想阻止这个容器从内部访问互联网,除了它是一个SFTP服务器的目的。 为了清楚起见:我知道如何防止外部世界访问我的容器 – 我可以设置传入的iptables规则,并且我只能在我的docker run命令中公开SFTP端口。 不过,我想使下面的命令(作为一个例子)在容器内运行时失败: curl google.com 我的意图是减less被黑客入侵的容器可以做的事情(不能用来发送垃圾邮件等)。
我有一个使用Gitlab CI的Gitlab环境,用于一个新项目来certificate编译的文件,并通过rsync复制到生产服务器。 build立这些资源的机器执行是一个docker(节点6)的形象,但现在我不得不复制从该容器的结果文件的Docker命令到服务器使用Linux …我的问题是通过SSH通过连接rsync的。 目前我有以下几点: stages: – deploy before_script: – npm i – npm run build job_deploy: stage: deploy script: – ssh-keygen -t rsa -b 4096 -C '' -f ~/.ssh/deploy_rsa – ssh-keyscan -H 8.8.8.8 >> ~/.ssh/known_hosts – ssh-copy-id -i ~/.ssh/deploy_rsa.pub [email protected] – rsync -avuz $CI_PROJECT_DIR/dist/ [email protected]:/var/wwww/example.com only: – master 由此我得到: /usr/bin/ssh-copy-id: INFO: attempting to log […]
在我的机器上,我使用了使用tun0接口的OpenVPN。 我希望sshd只能在这个接口上进行监听。 我知道,我可以指定IP地址来收听 /etc/ssh/sshd_config 与一个 ListenAddress 0.0.0.0 指示。 但是我的IP地址会改变,所以我不能select一个永远有效的IP地址。 我知道,只有当VPN启动时,我才能启动守护进程 – 这不是问题。 我怎样才能让sshd只听一个特定的接口(tun0)?
有没有一个首选的方法来设置好“sshd? 我需要优先考虑sshd,以便在出现问题时(例如DoS,performance不佳的进程等),我可以login并轻松修复这些内容。
如果我使用的东西像gitolite来处理访问控制authorized_keys规模如何? 意思是说,如果我有5万用户说什么performance会是什么样子(我猜测不是很好)。 有什么select? 更新:我决定自己做一些testing(我应该首先完成)。 我写了一个简单的脚本来生成SSH密钥,并将它们添加到authorized_keys文件中。 我的电脑速度不是那么快,所以我只生成了8061个按键,然后把我自己的按键添加到了最后,文件最终达到了3.1MB。 然后我用一个文件添加了一个git仓库,并运行git clone三次: With 8,061 keys (Mine is at the end of the file) real 0m0.442s real 0m0.447s real 0m0.458s With just a single key: real 0m0.248s real 0m0.264s real 0m0.255s performance比我想象的要好得多。 我仍然对任何替代scheme都非常感兴趣,这些替代scheme对于50,000+以上的大组密钥可能会更快一些。
在ssh_config ,可以select使用SendEnv将某些环境variables导出到主机。 是否也有办法强制给这个variables,每个主机给定的值? 例如,只有当连接到主机example.com时,是否可以使用值bar导出variables$FOO ?
我知道这个问题已经讨论过了,但是通过阅读post,我找不到答案,因为有些人说“是的,umask可以工作”,还有人说“OpenSSH put命令总是保留权限” 以前只是为了精确: 我在RHEL 6.2上使用OpenSSH 5.9 我已经使用internal-sftp子系统configuration了一个chroot的SFTP服务器,使用-u 0002作为umask 我确切地说我不使用-p或-P选项 从我读过的一方面来说:有许多方法可以为SFTP传输定义umask: 从OpenSSH 5.4开始,selectinternal-sftp (或者sftp-server )的-u选项 创build一个封装到sftp-server (我们明确地设置了Umask – 这不适合chrooted环境BTW) 在pam.d/sshd文件中添加一个特定的configuration 另一方面,我读到: OpenSSH SFTP客户端和服务器确实传输权限(作为扩展名),并在本地创build具有权限的远程文件。 AFAICT,没有办法禁用这种行为。 所以我做了以下testing: 在我的客户端上,我创build了具有权限600和700的文件MYFILE和目录MYDIR 。 然后用sftp命令: mkdir => the new directory has permissions following the umask (OK) put MYFILE => MYFILE has same permissions as on client (KO) put -r MYDIR => MYDIR has […]