问题标签 [ssh]

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 回答
1880 浏览

git - 将 git 与 SSH 和(有时)开瓶器一起使用

我需要通过 SSH 使用 git(这是一个自我强加的限制,但我不愿意打破这个限制)。如果我的笔记本电脑在我的家庭网络上,一切都很好。但是,当我在工作或通过 VPN 登录时,我需要使用开瓶器来访问我的远程存储库,我可以毫无问题地进行设置。

如果可能的话,我想保持懒惰,并且不指定每次从哪里拉/推到哪里,所以我的问题是:如何将 SSH 配置为仅在需要时使用开瓶器(例如,基于当前 IP 地址) ? 或者,有没有一种方法可以让 git 根据 IP 地址检测是否从特定主机拉取/推送到特定主机?

谢谢!

0 投票
9 回答
161169 浏览

linux - 如何在登录后将 SSH 用户限制为一组预定义的命令?

这是一个安全的想法。我们的员工可以访问 linux 服务器上的一些命令,但不是全部。例如,它们应有可能访问日志文件 ( less logfile) 或启动不同的命令 ( shutdown.sh/ run.sh)。

背景资料:

所有员工使用相同的用户名访问服务器:我们的产品以“普通”用户权限运行,无需“安装”。只需在您的用户目录中解压缩并运行它。我们管理“安装”我们的应用程序的几台服务器。在每台机器上都有一个用户johndoe。我们的员工有时需要通过命令行访问应用程序以访问和检查日志文件或手动重新启动应用程序。只有某些人拥有完整的命令行访问权限。

我们在服务器上使用 ppk 身份验证。

如果employee1 只能访问日志文件而employee2 也可以执行X 等操作,那就太好了……

解决方案: 作为解决方案,我将使用已接受答案中所述的command选项。我将制作我自己的小 shell 脚本,它是唯一可以为某些员工执行的文件。该脚本将提供几个可以执行的命令,但没有其他命令。我将在 from 中使用以下参数,如此所述:authorized_keys

这对我们来说已经足够安全了。谢谢,社区!

0 投票
5 回答
5280 浏览

https - 客户端防火墙阻止除 80 和 443 以外的所有端口,需要将端口 443 上的请求转发到 SSH 或 HTTPS

我目前在一个客户端工作,他们已经锁定了网络,除了端口 80 和 443。我需要使用 SSH 连接到我们的服务器,但同一台服务器也运行我们的网站。我们不想投资新服务器或放置第二张网卡。

我一直在互联网上搜索以设置我们的 linux 服务器(运行 CentOS 5),以便在端口 443 上侦听一个守护进程,该守护进程根据客户端协议将请求转发到正确的内部端口(SSH 22 或 HTTPS 移动到一个不同的端口_。

互联网上有很多人在寻找这种解决方案,但没有明确的说明如何做到这一点。

任何人都有想法/明确的说明如何做到这一点?

问候,尼德基尔

0 投票
4 回答
1033 浏览

ssh - 来自动态 IP 的 ssh/VPN 访问/旅行时。基于 knockd 或 dynDNS 的身份验证?

使用 knockd 与使用基于动态 DNS 的身份验证从动态 IP 地址或旅行(即一些随机酒店 IP)进行 ssh 或 VPN 登录的优缺点是什么?理想情况下,任何具有 ssh/VPN 客户端功能的设备都应该能够使用任何需要的附加客户端软件。

(另一种选择,保持 ssh / VPN 端口对所有人开放,这不是很有吸引力。)

我倾向于喜欢 knockd (或其他端口敲门守护程序),因为它不依赖于第 3 方来保持其不妥协的东西......

0 投票
3 回答
3095 浏览

ssh - 创建用于设置 ssh 隧道的无密码辅助 ssh 密钥

我需要创建一个自动设置 ssh 隧道的脚本。我认为没有密码的专用 ssh 密钥是一个好的开始,但我找不到这是否可能以及如何做到这一点。此密钥应具有有限的权限(仅设置隧道),但我需要另一个私钥(带有密码)。

谢谢 !

0 投票
3 回答
12708 浏览

security - 实施 SFTP 服务器解决方案的最佳方式?

我目前正在设置一个商业 SFTP 服务器,我只是在寻找您对我目前正在考虑实施的设置的一些意见,以及关于哪种商业 Secure FTP 服务器软件最好的建议适合。请记住,我负责的数据非常敏感,因此非常感谢任何评论/反馈。

这是场景:

1) 在文件上传之前,使用带有盐的 AES 256 压缩和加密文件。

2) 从客户服务器通过 SFTP(端口 22)上传到我们的 SFTP 服务器的文件。

3) 然后我们的其他客户端使用一次性密码验证通过 HTTPS 下载文件(强 10 字符字母数字密码)

我正在考虑的实施细节是:

对于上面的 (2) 部分,使用主机密钥匹配、公钥认证和用户名/密码组合打开连接。两边的防火墙被限制为只允许客户端服务器的静态IP连接。

对于第 (3) 部分,为其他客户端提供了每个用户的用户名/密码(用于审核),以登录其在服务器上的入狱帐户。文件本身的加密密码是基于每个文件提供的,所以我试图在这里始终应用两种加密模式(文件位于服务器上时除外)。

除了两侧的专用防火墙,SFTP 服务器上的访问控制将被配置为在短时间内阻止一定次数的失败尝试的 IP 地址,无效的密码尝试将锁定用户,将实施密码策略等。

我想我已经涵盖了尽可能多的内容,但我很想听听你们对这个实现的看法?

对于商业服务器方面,我已将其范围缩小为带 SSH 和 HTTP 模块的 GloalSCAPE SFTP 或 JSCAPE 安全 FTP 服务器——我将在周末评估每个服务器的适用性,但如果你们有任何经验的话要么我也很想听听。

0 投票
7 回答
24490 浏览

svn - 从 subversion 推送到 web 服务器

很久以前,我试图在本地、Web 服务器和颠覆之间整理我的系统。我对这个问题有一些很好的解释。

不幸的是,我在从 SVN 到 Web 服务器部分的整个推动过程中遇到了障碍,并且从未重新访问过。我所有的项目都是单独的,所以我是唯一一个开发它们的人,而且通常我是唯一的用户。所以我大部分时间都可以直接写到实时服务器上。

在 2009 年,我想改掉这个坏习惯,真正以正确的方式做事。我可以通过 SSH 访问我的 Web 服务器(我可以登录并浏览文件),但我真的不知道该怎么做才能将最新的文件从 SVN 中获取到服务器中。

我已经用谷歌搜索了我的手指,但我发现的所有东西都需要一些我还没有的知识。

我真的非常感谢逐步指导如何将我的代码的最新版本从 SVN 存储库自动推送到实时 Web 服务器。仅供参考,我目前正在使用 Beanstalk 进行 Subversion 托管,但如果有人有更好的建议,我完全愿意改变它。

谢谢

0 投票
6 回答
19013 浏览

linux - Linux 的 SSH“登录监视器”

我正在尝试编写一个脚本,当有人通过 ssh 登录机器时通知用户。

我目前的想法是在间隔中使用 grep 解析“w”的输出。

但这既不优雅也不高效。有没有人更好地了解如何实施这样的程序?

任何帮助将不胜感激!

0 投票
9 回答
85033 浏览

c# - SFTP 和“通过 SSH 的 FTP”之间的区别

在寻找 C# SSH 文件传输协议 (SFTP) 中的 SFTP 客户端时,我遇到了这两个合适的项目 -

在尝试了解基础知识时,我遇到了这篇令人困惑的Wikipedia 文章。通过 SSH 的 SFTP 和 FTP 有什么区别?如果不同,似乎没有库支持“通过 SSH 的 FTP”。

0 投票
9 回答
14908 浏览

shell - SSH - 一种无需打开单独的 SFTP 会话即可传输文件的方法?

不是真正的编程问题,但与许多程序员相关......

假设我打开了与另一台计算机的 SSH 会话。

远程:html avalys$ ls
welcome.msg index.html readme.txt
远程:html avalys$

有没有我可以在我的远程 shell 中输入的命令,它会立即将当前目录中的一个文件(例如welcome.msg)传输到我的本地计算机,即

remote:html avalys$ stransfer welcome.msg
获取 /home/avalys/html/welcome.msg 到 welcome.msg
/home/avalys/html/welcome.msg 100% 23KB 23.3KB/s 00:00
remote:html avalys$

我知道的唯一方法是在 SSH 会话中打开一个并行 SFTP 会话和 CD 到我的当前目录,当远程管理服务器时,这是一个真正的 PITA。

编辑:我知道使用反向 sftp/scp 连接的可能性,但这涉及更多的输入。如果我可以只输入某个命令的名称(例如“stransfer”)和我想要传输的文件,并让它正常工作,那就太好了。