Articles of ssh

限制ssh到一个特定的主机名

所以这是问题: 我有一个单一的服务器与多个主机名,这意味着我有一个loggingexample.com和*.example.com指向服务器的IP地址 我想限制传入的SSH连接到一个特定的主机名,即我只想login到[email protected],并且不允许使用user @ ip-address或[email protected]尝试 对于ListenAddress来自sshd_config的手册页具有以下内容: Specifies the local addresses sshd(8) should listen on. The following forms may be used: ListenAddress host|IPv4_addr|IPv6_addr ListenAddress host|IPv4_addr:port ListenAddress [host|IPv6_addr]:port 这似乎表明,sshd有能力限制自己到一个特定的主机名。 不过,我已经尝试了ListenAddress secret.example.com:22 ,但重新启动sshd似乎没有添加任何使用主机名的限制。 man sshd_config似乎没有显示任何其他选项。 有什么我失踪,或者sshd根本没有这种能力?

scp在命令行上使用密码

我正在尝试编写一个脚本,将在我的testing环境(linux)中将在我的台式机(windows / cygwin)上创build的构build部署到机器上。 我想使用scp将构build版本复制到目标机器上。 目标计算机上唯一的帐户是root,并且我无法为此任务创build特殊用户。 root用户无法使用ssh密钥login(我怀疑这是在ssh服务器上configuration的,但我不知道哪个configuration选项可以控制这个选项)。 无论如何,我不能改变SSH服务器的configuration。 我的台式机使用Cygwin,我已经安装了ssh。 我需要的是命令行fu,这将允许我把密码放在命令行上。 我意识到在shell脚本中有一个明文密码的危险,但这不是一个问题。

无法更改SSH端口

我使用WHM和CSF防火墙运行CENTOS Web服务器。 我正在尝试从默认端口更改SSH。 我打开了CSF中的端口,修改/etc/ssh/sshd_config取消注释端口行,并将其更改为我想要的端口。 然后,我使用WHM和命令行重新启动SSH,并重新启动。 但是,当它重新启动它仍然使用默认端口22.我做错了什么? 来自sshd_config文件的设置: # Host * # ForwardAgent no # ForwardX11 no # RhostsRSAAuthentication no # RSAAuthentication yes # PasswordAuthentication yes # HostbasedAuthentication no # GSSAPIAuthentication no # GSSAPIDelegateCredentials no # GSSAPIKeyExchange no # GSSAPITrustDNS no # BatchMode no # CheckHostIP yes # AddressFamily any # ConnectTimeout 0 # StrictHostKeyChecking ask […]

SSH公钥authentication只适用于之前存在活动会话的情况

我的SSHconfiguration有一个相当奇怪的问题。 我在远程访问卡的帮助下设置了服务器,并使用KVM查看器configuration了所有内容。 所以当通过KVM查看器login到服务器时,我只用pubkeyconfiguration了SSH,并尝试从本地笔记本电脑login。 它工作正常。 如果我退出KVM会话(或在KVM会话中用户注销),我不能通过sshlogin(pubkey denied)。 只要用户在某个地方仍然login,SSHlogin就会起作用。 任何提示可能是什么问题? 用于login失败的控制台输出(所有个人数据交换): OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 debug1: Reading configuration data /Users/mylocaluser/.ssh/config debug1: Reading configuration data /etc/ssh_config debug1: /etc/ssh_config line 20: Applying options for * debug1: /etc/ssh_config line 103: Applying options for * debug1: Connecting to 100.100.100.100 [100.100.100.100] port 12345. debug1: Connection established. debug1: identity file /Users/mylocaluser/.ssh/id_rsa […]

使用SSH更改多个服务器上的configuration文件

问题: 我试图为多个服务器禁用SSH密码validation。 这意味着我必须修改sshd_config文件。 从 #PasswordAuthentication yes 至 PasswordAuthentication no 我真的不想一个一个去做。 有什么方法可以用一个命令在多个服务器上分发/修改configuration文件? 假设你可以做: 那些服务器有相同的操作系 我可以一次向多个服务器广播SSH命令 其他说明: 我将configuration文件设置为在每台服务器上侦听不同的地址和/或端口。 所以这不能通过从中央服务器下载更新的configuration文件来完成。 我更喜欢文本replace命令来完成这项工作

closures监狱内的主机

我在NAS4FREE上用Finch-Freebsd创build了一个监狱,并添加了一个本地非超级用户通过ssh访问监狱。 我希望能够授予这个用户有限的访问权限专门closures监狱,并开始closures监狱驻留的服务器 我怎样才能让上述用户有限的shell命令权启动关机命令? 到目前为止,试图启动一个sh /etc/rc.shutdown 我得到以下输出 eval:无法打开/var/run/cron.pid:权限被拒绝停止sshd。 kill:12060:不允许操作停止lighttpd。 kill:12001:不允许操作eval:无法打开/var/db/mysql/RemandYard.pid:权限被拒绝pututxline:权限被拒绝终止

ssh强制命令:只有sftp / scp

目标:sftp / scp只能访问,而不需要linux用户。 我想为10个人提供10个sftp / scp目录。 我们称之为“虚拟账户” 我不想为每个人创buildLinux用户。 我想创build一个linux用户(backup_user)。 在他的家目录将是10个目录。 为每个“虚拟帐户”一个目录。 每个虚拟帐户只能看到自己的文件,而不能看到来自其他虚拟帐户的文件。 我想使用这里提供的解决scheme: https : //serverfault.com/a/88864/90324 总之,在authorized_keys文件中将有10行: ~backup_user/.ssh/authorized_keys: no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command=\ "scp -v -r -d -t ~/CONTENT" ssh-rsa AAAAMYRSAKEY… 我可以通过python脚本来改善,而不是使用硬编码的“scp -v …”。 我想支持scp和sftp。 有没有一种方法可以确保每个虚拟帐户都不能脱离监狱? 顺便说一下:使用authorized_keys和“强制命令”的想法只是我目前的策略。 如果每个总体目标都有更好的方法,那么请告诉我:-) 我们正在运行一个OpenSSH服务器。 如果可能,我想坚持下去。 更新 我们find了不同的解决scheme:http。 我们开发了一个小的通用文件http上传: https : //github.com/guettli/tbzuploader反馈是欢迎的

保护SSH隧道

我们有一个使用SSH连接到服务器的应用程序:应用程序的networkingstream量(数据库,一些自定义的TCP协议等)通过SSH连接隧道传输。 我们在服务器上使用密钥对和非特权帐户,但用户仍然可以使用他们的密钥login到服务器,或者进行他们想要的任何端口redirect。 有没有办法configurationSSH服务器只允许一些隧道(限制隧道的结束地址和端口),并禁用shell访问? (我们使用OpenSSH) [编辑] 我碰到这篇文章 ,似乎删除shell访问是不够的。 相应地更改标题和说明。

用于Linux命令行的SSH密钥pipe理工具

是否有一个ssh密钥pipe理工具,用于Linux命令行,在一次input密钥的密码后,可以在各种窗口中使用密钥? 我正在考虑类似于Putty的选美游戏,它需要密码才能加载密钥,然后在需要进行连接时将密钥提供给Putty。 在Linux中,我在terminal窗口中使用命令行,甚至在代理中,每个窗口似乎都需要密码input。 如果我想让多个窗口进入远程主机,我必须重复每个窗口的密码。 我想我忽略了ssh或代理的一些明显的function,但到目前为止我找不到一种方法来做到这一点。

如何设置一个Linux SSH服务器用多个SSH密钥进行身份validation?

我们使用默认使用ssh密钥进行身份validation的Amazon EC2服务器。 我们想要访问服务器中的另一个用户,但是我们不想给出我们的初始密钥,所以我们要创build一个第二个密钥,我们可以稍后移除它。 有什么办法可以接受多个关键? 这个post对设置第一个键很有帮助。