Articles of ssh

允许远程服务器访问,同时防止文件传输

我正在设置一个Linux服务器,需要:(1)允许远程访问。 (2)防止文件被下载。 具体而言,服务器保存用户将要分析的数据,build立模型等。用户将需要从他们的工作计算机(也运行Linux)访问服务器。 但是,他们不应该能够将数据从服务器传输到用户的工作计算机。 目前,我唯一想到的解决scheme是设置两层访问权限:用户首先ssh或VNC到中间服务器,然后VNC从中间服务器到主服务器。 有一个更简单的解决scheme? (最好是没有远程桌面的解决scheme。) 谢谢!

Dropbear + OpenSSH:共享密钥

我在个人服务器(Debian Jessie)上设置了一个encryption的LVM分区。 所以每次我需要重新启动它,我必须连接到initramfs中安装的dropbear,解锁磁盘,closures连接,然后一旦服务器启动,连接到OpenSSH服务器。 问题是这两个服务器有不同的私钥/公钥对,但IP地址相同,所以我的SSH客户端抱怨保存在~/.ssh/known_hosts中的指纹不同于服务器发送的指纹。 问题1: 有没有办法在dropbear和OpenSSH服务器中使用相同的私钥/公钥对? 或者我坚持使用像这样的解决方法: 使用2个不同的IP启动和运行时间。 使用2个不同的SSH客户端启动和运行时间… 问题2 : 如果可以使用相同的密钥,我该怎么做? 似乎dropbears私钥是在一个不同于OpenSSH的格式,似乎被encryption,我该如何转换它们?

如何使用DSA密钥对而不是RSA

出于testing目的,我想在我的服务器上启用DSA身份validation(让我们将其命名为A)。 如果我删除位于/etc/ssh下的所有密钥对,那么在sshd restart时将生成RSA和DSA密钥对。 结果是,如果我尝试打开从服务器B到此服务器A的SSH连接,则会显示以下消息: The authenticity of host '…' can't be established. RSA key fingerprint is … Are you sure you want to continue connecting (yes/no)? 你知道一种方法来禁用RSA身份validation,以便我的服务器B使用DSA在服务器A上进行身份validation吗?

脚本执行时间是否通过ssh切入空闲的注销时间?

在我们的一台Mac OS X服务器上,我们在/etc/ssh_config设置了以下内容: # Keep idle connections alive for 10 minutes Host * ServerAliveInterval 600 两个问题: 1)这是一个很好的方式来定义空闲连接超时限制? http://www.ibm.com/developerworks/aix/library/au-sshsecurity/build议使用ClientAliveInterval ; 但是https://unix.stackexchange.com/questions/3026/what-do-the-options-serveraliveinterval-and-clientaliveinterval-in-sshd-conf似乎是说这两种方式本质上产生了相同的结果。 2)脚本执行时间是否切入空闲注销时间? 例如,如果有人在服务器上运行一个Perl脚本,并且该脚本需要5分钟,那么在脚本结束5分钟后连接将被挂起? 换句话说:ssh连接闲置是什么意思?

SSH,Kerberos,AD:如何/在哪里configuration/etc/pam.d/password-auth?

我在这里有一台CentOS 6机器,并且希望为来自另一个森林的用户提供SSH访问,这是值得信赖的。 我得到了一个临时解决方法,即: 1)将/etc/pam.d/vncserver中的内容更改为 auth include password-auth 2)添加这两行/etc/pam.d/password-auth auth sufficient pam_krb5.so use_first_pass realm=NEW.DOMAIN.NET password sufficient pam_krb5.so use_authtok realm=NEW.DOMAIN.NET 所以看起来这样: %PAM-1.0 This file is auto-generated. User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth sufficient pam_krb5.so use_first_pass auth […]

如何使用Ansiblepipe理远程lxc容器?

如何使用Ansible在远程服务器上的lxc容器上执行任务? 我们使用Ansible在几台服务器(物理和虚拟机)上部署我们的代码。 到目前为止,每个实例都有一个公共IP地址和一个正在运行的ssh服务器,所以一切都像魅力一样。 但最近,我们不得不在两台远程服务器上的lxc容器上进行部署。 这两个容器是natted,不运行一个SSH服务器(我们想保持这种方式)。 我只能使用ssh连接到他们到物理主机,然后lxc-连接到他们。 我发现的唯一方法是从未更新最新的Ansible 2.0版本的自定义插件 。 我也到目前为止没有任何结果的邮件列表 。 有没有人成功地在这样的configuration中使用Ansible?

如何禁用ssh已经禁用sftp访问用户(用户shell = / bin / false,但连接仍然可以使用sftp)

在sshd_config ,默认情况下,允许所有组和用户login。 allow / deny指令按以下顺序处理:DenyUsers,AllowUsers,DenyGroups,最后AllowGroups。 (在手册页中find)。 所以,我必须以“黑名单”的方式来configuration服务器(全部都是允许的,然后我明确地定义哪些访问可以被拒绝)。 有没有办法做相反的事情? 我想如果用户不能连接到SSH,SFTP连接将被拒绝,除非他符合规则。 我把默认的shell设置为/bin/false (所以经典的ssh连接被禁用)。 locking用户( usermod -L usersftp1 )显然阻止用户同时使用sftp和ssh(这对我来说很好)。 我尝试使用DenyGroups !sftp指令来禁止除sftp以外的用户匹配,但是usersftp1(不属于组sftp(主要或补充)但不起作用。 我configuration了我的服务器来pipe理一些sftp访问(从Subsystem sftp internal-sftp ) 在/ etc / passwd中,用户线usersftp1:x:5001:5001::/home/sftp/usersftp1:/bin/false SSH连接不起作用(这是我想要的),但我可以通过SFTP连接(旁边的事实,我不允许该用户呢)。 如果用户具有/bin/false shell,我希望默认行为是“连接不允许”。 编辑:更多的configuration细节: file /etc/passwd: usersftp1:x:50001:5001::/home/sftp/usersftp1:/bin/false file /etc/group: usersftp1:x:5001 file /etc/ssh/sshd_config: … Subsystem sftp internal-sftp -l INFO # This is commented, so no rules will be set for […]

Vim挂在一个特定的文件?

当我在vim中编辑一个文件的时候,我的putty会话一直挂着。 今天早上发生了三次。 希望这没什么,只是在matrix的一个小故障,但我担心这意味着我的服务器上的磁盘/内存问题。 我应该尝试debugging这个? 每次都在插入模式下发生,光标不会响应任何键盘或鼠标input。 我最近改变了我的服务器,没有做任何更新。 昨天一切正常(事实上已经很久了)。 顺便说一句,Centos 6。 直到我进入vim,进入插入模式,并做一些微小的改变,才会发生。 只会出现在一个特定的文件上。 不,不是一个系统文件或任何东西,只是我的网站上的一个PHP文件。 谢谢!

cygwin sshd“getnameinfo失败”

我从Cygwin运行Openssh sshd服务。 当RSA连接build立时: $ ssh Administrator@ZETA 上次login:5月11日星期三13:58:50从10.1.1.140开始 – 没有错误信息。 但是,当我使用内联命令时: $ ssh Administrator@ZETA "echo hi" 嗨 – 该命令起作用,但在ZETA上Windows事件日志现在说: sshd:PID 7068:错误:get_socket_address:getnameinfo 2失败:未知错误 调用此函数通常会填充事件日志中的错误。 在debugging模式下在命令行上启动sshd: /usr/sbin/sshd -ddd – 不会产生错误。 它也运行在不同的用户,我不得不chown administrator /var/empty它的工作。 尝试以debugging模式作为Windows服务启动sshd,如https://cygwin.com/ml/cygwin/2014-03/msg00488.html中的build议失败: $ /usr/bin/cygrunsrv -I sshd -d "CYGWIN sshd_debug" -p /usr/sbin/sshd -a "-D -d -d -d" -y tcpip / usr / bin / cygrunsrv:安装服务时出错:OpenService:Win32 error 1073:指定的服务已经存在。

ssh网关可以代理上游服务器的基础上的用户名?

每个用户都有一台专用机器,但不会暴露于外部世界。 “网关”是唯一暴露的系统。 用户不知道这个设置。 他只是执行ssh username@gateway ,它应该等同于ssh [email protected] 。 我们可以configuration一个网关sshd,我们可以做到这一点? 每台机器都有一个用户。 所以在确定上游服务器时不会有任何混淆。