问题标签 [sshd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2416 浏览

mongodb - Docker 不启动 MONGODB,IPAddress 不出现,与其他服务一起启动

我已经在 serverfault.com 上问过这个问题。我也在这里问它,因为我在这两个站点中看到了不同的问题集(看起来它们有不同的数据库)。

我一直在尝试从 Fedora 构建操作系统映像,但未能成功启动以下操作:

  1. 系统
  2. 固态混合硬盘
  3. 兔MQ
  4. MongoDB

我可以让前 3 个(Systemd、SSHD 和 RabbitMQ-Server)工作。我还可以让 MongoDB 在容器中工作。但是,我无法让 MongoDB 与其他 3 项服务一起工作。

此外,当我尝试“dockerize”MongoDB 时,IP 地址不显示。

我在 Dockerfile 中遗漏了什么吗?

这是我的码头文件:

用于构建的 Docker 命令有:

(1)docker build -t rabbitmq_mongo_heisenbug .

(2)docker run --privileged -d -e 'container=docker' -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 29022:22 -p 29672:15672 -p 29017:27017 rabbitmq_mongo_heisenbug

或.. (3)docker run --privileged -ti -e 'container=docker' -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 29022:22 -p 29672:15672 -p 29017:27017 rabbitmq_mongo_heisenbug

0 投票
0 回答
4979 浏览

permission-denied - CentOS 7 - sshd:如果用户主文件夹在另一个分区上,则授权密钥上的权限被拒绝

我有一个让我发疯的问题......我现在尝试修复它至少 2 小时 - 但我不是很成功。

问题本身:我在应该托管我们的 git 和 gitolite 环境的 VM 上安装了 CentoS7(我不知道它是否是 CentOs 7 的特定行为)。我安装了所需的服务和用户。一切运行良好,我可以通过 SSH 连接密码和基于密钥的身份验证。所有用户的主目录都在 /home/ 中。现在,我想用 /srv/data/home/git (/srv 在一个单独的分区上)添加一个新用户(git)作为主目录并启用基于密钥的身份验证。两个分区都是 ext4 格式。

我安装了 gitolite 并根据官方文档创建了用户:

gitolite setup 命令的输出是:

在 /srv/data/home/git/repositories/gitolite-admin.git/ 中初始化空 Git 存储库 在 /srv/data/home/git/repositories/testing.git/ 中初始化空 Git 存储库 警告:/srv/data/home /git/.ssh/authorized_keys 丢失;创建一个新的(这在全新安装中是正常的)

下一步包括克隆 gitolite-admin 存储库,该存储库不断失败:

请点击此链接查看整个 debug3 日志:http ://pastebin.com/eiZSTu55

最重要的几行:

现在,我做了一些检查:

我又做了一些测试。在下面找到我的测试用例的摘要: - 使用 /home/testuser 作为主目录创建了一个用户,重复了 .ssh 目录的步骤并将我的 pub 密钥移动到它。结果:工作正常!- 使用 /srv/testuser2 作为主目录创建了一个用户,并执行与上述完全相同的操作。结果:authorized_keys 文件上的权限被拒绝 - 使用 /home/testuserls 作为主目录创建了一个新用户,并为 .ssh 目录重复了这些步骤。现在我创建了一个从 /home/testuser3 到 /home/testuserls 的符号链接,并修改了 /etc/passwd 以将 /home/testuser3 设置为该用户的主目录。结果:工作正常!- 使用 /srv/testuser4 作为主目录创建一个新用户,放入 .ssh 文件夹并创建从 /home/testuser4 到 /srv/testuser4 的符号链接,并再次修改 /etc/passwd 以将他的主目录映射到 /home /testuser4. 结果:

这给了我:

我不知道为什么会发生这种情况以及如何解决这个问题。它与CentOS7有关吗?我是瞎子还是傻子?这是版本 openssh-server-6.4p1-8.el7.x86_64 中 ssh 守护程序的新限制吗?我在谷歌或这边没有发现任何类似的问题,也找不到任何解决方案......任何帮助将不胜感激!

更新 I 所有分区(当然交换除外)都被格式化为 ext4。/etc/mtab 中的相应行是:

我不使用任何 ACL。否则,它应该在上面的行中列为挂载选项,对吧?UID 1000 是用户 git 的 UID。

让我们检查从 / 开始的权限

** 更新二 - 已修复 **

原来selinux被激活了。该问题已通过 .ssh-Folder 上的以下命令修复:

0 投票
1 回答
4799 浏览

linux - 获取远程 SSH 会话 [QNX] 的 PID?

所以我一直在挠头试图弄清楚这一点,我有点卡住了。

我正在使用 Python 的子进程模块和 Popen 打开一个 PuTTY 会话(使用 plink.exe),并连接到远程主机。这意味着我可以访问会话输出。

我正在尝试找到一个命令,或者编写一个我可以执行的脚本,它会告诉我处理会话的远程 sshd 进程的 PID。如果只有一个 SSH 会话,我可以使用“ps -f | grep sshd”列出 sshd 进程,并通过解析该行找到 PID。

问题是,同时有多个 SSH 连接到该主机,因此有多个 sshd 实例正在运行。有谁知道我可以通过从同一会话运行命令来确定运行特定会话的进程的方法?

注意:以下脚本适用于 OS X 和多种形式的 Linux。

这将返回具有正确 PID 的行,然后可以使用 Python 对其进行解析。不幸的是,我使用的是 QNX,它没有在“ps”中实现 TTY 字段,所以该字段中的所有内容都只显示为“?”。还有其他想法吗?

谢谢!

0 投票
3 回答
6434 浏览

configuration - KeyRegenerationInterval 对 SSH2 有什么影响吗?

我正在设置一个新的 Linux 服务器,并且正在编辑 sshd_config。我将使用协议版本 2(无论如何都是默认的):

但是在默认的配置文件中,我也找到了这两行:

手册页 sshd_config(5) 说 KeyRegenerationInterval:

在协议版本 1 中,临时服务器密钥会在这么多秒后自动重新生成(如果已使用)。再生的目的是防止通过以后闯入机器并窃取密钥来解密捕获的会话。密钥永远不会存储在任何地方。如果值为 0,则永远不会重新生成密钥。默认值为 3600(秒)。

所以我知道这个参数在 SSH1 中的作用。但我不使用SSH1。我使用默认版本 SSH2,但手册页没有提供有关协议版本 2 中的效果的信息。KeyRegenerationInterval在协议版本 2 中有KeyRegenerationInterval任何影响吗?那么ServerKeyBits呢?

如果我在设置时将此设置保留在配置文件中会发生什么Protocol 2?当我删除这两行时会发生什么?

我猜如果协议版本设置为 2,这两个参数将被忽略。但这只是猜测。从我读到现在我不能确定。你知道(不是猜测)在 SSH2 中有KeyRegenerationInterval什么效果吗?ServerKeyBits

0 投票
1 回答
1774 浏览

git - 为一位用户禁用 SSH 密钥认证

目前,我为所有服务器用户使用密钥验证,并且效果很好。今天我刚刚添加了一个 git 服务,它的工作是为每个人提供 git 存储库:我服务器的内部用户和外部用户。

我为所有 git 目的(守护进程、cgit 等)创建了一个 Git 用户。问题是,当人们想要克隆我的一个存储库时,由于 sshd_config,服务器会检查 ~/.ssh/ authorized_key 文件,我只知道在这个文件中存储所有外国用户的公钥是不可想象的。

那么,有没有办法指定只有我服务器的 Git 用户才有权连接而无需任何密钥认证和密码?

提前为我的英语道歉。谢谢,

0 投票
1 回答
845 浏览

ssh - Add Tunnel to an existing SSH session once logged in

I know I can add tunneling to an existing ssh connection by using the EscapeChar : ~C and then the usual -L syntax. It works. What I'd like to do is to make this automatic when I log in. I cannot specify anything on the command line on the client side. So I have to do it serverside. The client connects as : ssh user@host. That's all. So now I add the tunnels myself once I'm logged in. I'd like to automate this. How an I launch the -L commands automatically when the ssh session starts ?

0 投票
1 回答
855 浏览

networking - sshd_config 上的子系统

在 /etc/sshd/sshd_config ,我可以看到

子系统 sftp /usr/libexec/openssh/sftp-server

这指定了子系统及其位置。

子系统将如何以及何时启动?

谢谢文卡特

0 投票
0 回答
236 浏览

openssl - Cygwin错误安装sshd

我目前正在尝试通过 cygwin 安装 sshd 并收到以下错误

0 投票
0 回答
1329 浏览

java - Java Apache sshd tunnel

I want to create java application, that will be my custom sshd server. Clients should be able to create tunnels to this server.

Now I have this working example:

At this moment, I have minimal sshd server. When running, one can build tunnel to it:

ssh user@host -p 2222 -R port:host:port -N

The problem is, user can't create tunnel to the same port twice. First connection is successful, but after tunnel disconnect & reconnect server says, that port is already in use.

Second problem is that connection is unavailable through external IP.

For example, server is 192.168.1.10. Client builds tunnel to server and forwards port 2020. Now, nmap -p 2020 localhost will say, that port is opened, but nmap -p 2020 192.168.1.10 will say, that port is closed.

What I'm trying to ask is how to force sshd server to reuse closed ports, that were used previously, and how to make it announce opened port on the external IP.

0 投票
2 回答
2193 浏览

mysql - 为什么与 docker 容器的 SSH 连接不起作用?

所以我有这个 Dockerfile:

它建立起来了,没问题,MySQL 和 Apache 启动并正常工作,但 ssh 无法工作,我不知道为什么。openssh-server 已安装。

我试着像这样启动它:

+

还有很多其他的,我被困住了。

我究竟做错了什么?