标签: ssh

通过 SSH 找出本地和远程文件系统之间差异的脚本

我正在寻找一个脚本来找出本地和远程文件系统(通过 SSH)之间的差异。理想情况下,脚本应该执行以下操作:
-浏览本地文件系统中的文件夹
-找出远程文件系统上是否存在文件夹(如果丢失则报告并停止进一步检查该文件夹)
-对于两个文件系统都存在的文件夹,进行比较它们包含的文件(报告远程文件是否丢失或不同)。

我在 serverfault 上唯一能找到的就是关于如何对单个文件和文件夹进行差异的示例:
如何比较目录之间的差异 (linux)
如何通过 ssh 进行差异?

该脚本可以用任何语言编写,此时无关紧要(尽管首选 bash/perl)。

filesystems ssh remote diff local

3
推荐指数
1
解决办法
3882
查看次数

单个命令中的多个 SSH 会话

我正在尝试将数据库从一台服务器复制到另一台服务器。我尝试使用以下命令,但在输入 ssh 密码时遇到了问题。如果我输入一台服务器的密码,它会抱怨另一台服务器,反之亦然。

ssh root@server1 mysqldump --databases db | ssh root@server2 mysql

我设法通过在我的计算机上暂时保存转储来进行传输,只是想知道是否有办法让它工作。

mysql ssh shell command-line-interface

3
推荐指数
1
解决办法
641
查看次数

亚马逊实例私钥文件在哪里?

我什至不知道这个问题是否有意义。但我完全 100% 新手,我需要一些帮助。我正在尝试在亚马逊上创建一个实例,以便我可以连接到它并使用 ssh 等添加文件。

现在我遵循了指导方针,我已经创建了我的实例。但是,当我阅读有关如何远程访问它的说明时,它指的是一个私钥文件,该文件显然包含密码信息或其他内容(上面写着 .pem)。我扫描了教程,谷歌,我觉得我点击了亚马逊控制台上的每个标签和链接,但我仍然找不到这个文件。所有文档都说“我在启动实例时创建了文件”。

所以纯粹从亚马逊的角度来看,这个文件在哪里?亚马逊上有吗?SSH?一些注册表?我没有线索。这是一个最底层的问题,所以如果不清楚,我深表歉意。提前致谢!!

linux ssh amazon-ec2

3
推荐指数
1
解决办法
159
查看次数

将 ubuntu hardy 上的 OpenSSH 升级到 5.8

要符合 PCI 标准,我需要在运行 ubuntu hardy 的服务器上运行 openssh 5.8。编辑 /etc/apt/sources.list 以从 natty 安装 openssh-server 有太多未解决的依赖项,我需要进行全面升级。

我有哪些选择?

ubuntu ssh

3
推荐指数
1
解决办法
394
查看次数

SSH 服务器无法识别authorized_keys

我一直在尝试通过 SSH 设置 Git 并遵循我所看到的指南。我使用 ssh-keygen 创建一个密钥集,登录到远程主机并使用 .ssh/authorized_users 将公钥附加到 .ssh/authorized_users cat id_rsa.pub >> .ssh/authorized_keys。当我尝试登录时,仍然提示我输入用户(git 用户)密码。

我还找到了一个教程,展示了如何使用 putty 的 keygen 工具并遵循了它。再次,什么都没有。我发现的任何教程都没有变化,似乎在远程主机上获得 sshd 以允许我使用生成的密钥登录。

有没有办法手动控制这个?我现在被困在 Red Hat Enterprise Linux 4 上。

ssh ssh-keys

3
推荐指数
2
解决办法
7277
查看次数

Kerberos 和本地主机

我在 Linux 机器上设置了 Kerberos v5 服务器,并且在连接到其他主机(使用 samba、ldap 或 ssh)时运行良好,我的 kerberos 数据库中有这些主机。

我可以使用 kerberos 对本地主机进行身份验证吗?如果可以的话,有什么理由不应该吗?我还没有为本地主机创建 kerberos 主体。我认为我不应该;相反,我认为校长应该解决机器的完整hostname. 那可能吗?

理想情况下,我想要一种仅在一台服务器(无论是 kerberos、DNS 还是 ssh)上配置它的方法,但是如果每台机器都需要一些自定义配置,那也可以。

例如 $ ssh -v localhost

...
debug1: Unspecified GSS failure.  Minor code may provide more information
Server host/localhost@EXAMPLE.COM not found in Kerberos database
...
Run Code Online (Sandbox Code Playgroud)

编辑:

所以我有一个坏的 /etc/hosts 文件。如果我没记错的话,我用 Ubuntu 获得的原始版本有两个 127.0.0. IP 地址,例如:-

127.0.0.1 localhost
127.0.*1*.1 hostname
Run Code Online (Sandbox Code Playgroud)

无缘无故,我很久以前就把我的改成了:

127.0.0.1    localhost
127.0.*0*.1    hostname.example.com hostname
Run Code Online (Sandbox Code Playgroud)

在我尝试使用 kerberos 进行 ssh 之前,这似乎适用于所有情况(最近的一项努力)。不知何故,这种配置导致 sshd 将机器的 kerberos 主体解析为“host/localhost@\n”,如果它使用 /etc/hosts 进行正向和反向 dns 查找而不是外部 dns,我认为这是有道理的。所以我注释掉了后一行,sshd …

ssh kerberos localhost

3
推荐指数
1
解决办法
4015
查看次数

在允许某些命令的同时阻止交互式 SSH 会话

如何只允许某些命令通过 SSH 运行并阻止交互式会话?

rsync.net 和 bakop.com 一样。

即这将工作:

ssh <user@host> mkdir test
scp <file> <user@host>:test/
Run Code Online (Sandbox Code Playgroud)

这不会:

ssh <user@host>
Run Code Online (Sandbox Code Playgroud)

ssh

3
推荐指数
1
解决办法
1800
查看次数

使用 autossh 保持打开反向 SSH 隧道的正确选项

我ldapserver在严格的防火墙后面有一个 LDAP 服务器 ( )的设置,以及在appserver防火墙外的服务器 ( )上运行的 web 应用程序,需要使用该 LDAP 服务器进行身份验证。

我已经成功地使用了第三台服务器 ( tunnelserver) 作为中间服务器appserver,ldapserver通过在 上运行以下命令来设置 SSH 隧道tunnelserver:

ssh username@appserver -R 28420:ldapserver:389
Run Code Online (Sandbox Code Playgroud)

唯一的问题是我偶尔会遇到一个破损的管道,并丢失了 SSH 隧道。

一个解决方案似乎是autossh,但我有限的 SSH 知识几乎无法使隧道正常工作,而且似乎不足以正确重新指定autossh.

有小费吗?

ssh ldap tunnel

3
推荐指数
1
解决办法
3156
查看次数

如何将文件向上移动一个目录

我在 /home/ 中有大约 200 个目录。问题是它们都以这种方式存在:

/home/{用户}/homedir/

虽然它应该只是:

/home/{用户}/

使用什么命令可以为每个用户批量将 homedir 的所有内容向上移动一个目录?

谢谢您的帮助。

linux ssh mv

3
推荐指数
1
解决办法
1863
查看次数

在 Fedora Core 3 上重置 root 密码 - 仅限串行电缆访问

一点背景:我们有一台旧的机架式服务器,它运行着 Fedora 的定制版本,由一家名为 Navaho 的公司制造。服务器是一个 TeamCAT,运行一些称为 Freedom2 的专有垃圾。我们必须继续下去 - 替代方案非常昂贵,而且业务不太可能运行更长的时间来证明改变事物的合理性。

通过一种或另一种方式,我不得不尝试解决我们缺乏 root 访问权限的问题。以前的管理员已经跌倒在众所周知的公共汽车下,没有人有任何线索。

我们无权访问此服务器的 root 帐户。ssh 正在服务器上运行,我们可以使用一个帐户管理员登录,但是它无权执行任何操作(讽刺...)

进入服务器的唯一其他方法是使用零调制解调器串行电缆。这有效......在一定程度上。我可以看到 BIOS,我可以看到 BIOS 后屏幕,然后我看到“正在启动 grub”,接着是另一个屏幕,其中包含大约四行 Linux 信息,但随后它停止了。服务器继续启动,大约两分钟后所有服务都在线,但串口终端没有显示更多信息。

我知道可以将 Linux 置于“单用户模式”以重置 root 密码,但除了尝试在上面列出的 grub 阶段中断它之外,我不知道如何做到这一点。当我尝试它时,它只是冻结了。这几乎就像 grub 出现了(因为服务器没有继续启动),但我在串行终端上看不到它。这让我觉得 grub 屏幕可能有一些不同的串行设置?我不知道...这是我第一次使用串行访问!

我的一个朋友建议尝试使用 Fedora 引导 CD。我们可以从 USB 启动,所以这种方法是可能的,但我们仍然只能看到串行终端发生了什么,所以它可能无法实现。

有人对我可以尝试的事情有什么建议吗?我很欣赏这有点远,但任何帮助都是无价的。

更新 1 - 28/8/12 - 我们今天将对此进行一些尝试,稍后会发布更多详细信息!

更新 2 - 12年8 月 28 日- 我尝试了至少四种不同的发行版,但无法再进一步。最终结果总是相同的——你会看到“SYSLINUX”等等,就好像启动正在启动一样,但除此之外什么都没有。大概这是因为大多数 Linux 版本都有某种图形界面作为它们的下一个屏幕,串行控制台会忽略它。

我正在考虑尝试使用非常旧版本的东西。请记住,我们在这里谈论的是大约有 10 年历史的服务器。真的是一点力气都没有!

我尝试过的最古老的东西是 Ubuntu 6.06 LTS。这大约是“最”的成功(我在 SYSLINUX 之外看到了几行),并且 CD 旋转了很长时间,似乎在做某事,但终端没有任何反应。当我在普通 PC 上启动它时,它对我来说显然是一个图形界面,所以这可能再次解释了为什么我的串行终端什么都不显示。有什么更旧的我可以尝试启动吗?

ssh password fedora root serial

3
推荐指数
1
解决办法
360
查看次数