Articles of ssh

基于用户的ssh端口转发

我只想为用户git转发端口22(ssh)到端口7999(其中bitbucket正在运行),并为其他用户使用正常的sshd。 我查看了HAProxy的ssh转发,但这并不能让我区分每个用户。 我如何在服务器上configuration它? 我不希望每个客户端ProxyCommand在其.ssh/configconfigurationProxyCommand 。

无特权子的SSH分支连接失败

当我们试图build立一个SSH连接到我们的服务器时,我们有一些问题。 当我们连接用户X(ssh x @ serverIP)时,我们在控制台上收到这些错误: Connection to serverIP closed by remote host. Connection to serverIP closed. 同时在服务器上的/var/log/auth.log上我们可以发现这些错误: Nov 2 09:27:02 dbtde02 sshd[21556]: Accepted password for X from serverIP port 41505 ssh2 Nov 2 09:27:02 dbtde02 sshd[21556]: pam_unix(sshd:session): session opened for user X by (uid=0) Nov 2 09:27:02 dbtde02 systemd-logind[1028]: New session 1559 of user X. […]

启动Ovpn客户端时SSH会被终止

我有一个运行Ubuntu 16.04.1的VPS,我使用SSH进行连接。 我想在VPS上运行OpenVPN客户端,以便通过VPN路由互联网stream量,但仍然允许我通过SSH连接到服务器。 当我启动OpenVPN时,我的SSH会话被断开,我不能再连接到我的VPS。 如何configurationVPS以允许在VPS的实际IP(84.XxX)上打开传入的SSH(端口22)连接,但仍然通过VPN路由传出stream量(如从VPS上的Web浏览器)? 我使用的OpenVPN服务是PrivateInternetAccess,示例config.ovpn文件是: proto udp tun-mtu 1500 fragment 1300 mssfix cipher AES-256-CBC remote amsterdam.perfect-privacy.com 149 remote amsterdam.perfect-privacy.com 1151 remote amsterdam.perfect-privacy.com 1150 remote amsterdam.perfect-privacy.com 1149 remote amsterdam.perfect-privacy.com 151 remote amsterdam.perfect-privacy.com 150 remote amsterdam.perfect-privacy.asia 151 remote amsterdam.perfect-privacy.asia 150 remote amsterdam.perfect-privacy.org 1149 remote amsterdam.perfect-privacy.info 1150 remote amsterdam.perfect-privacy.asia 149 auth SHA512 auth-user-pass password.txt client comp-lzo dev […]

用定义的authentication方法进行SSHlogin

我有一个小型的服务器,我希望能够使用SSHlogin2种方法: 公钥 密码,然后用Python制作一个PAM 我成功安装了libpam-python ,并将这一行添加到/etc/pam.d/sshd : auth requisite /lib/x86_64-linux-gnu/security/pam_python.so /lib/x86_64-linux-gnu/security/my_pam.py 举个例子,假设我的python pam正常工作,只是要求input另一个密码。 以下是我的/etc/ssh/sshd_config中的相关参数: # PAM UsePAM yes ChallengeResponseAuthentication yes # Regular password PasswordAuthentication yes PermitEmptyPasswords no # Authentication Methods # Either an authorised public key, or the password + another one (python pam). AuthenticationMethods publickey password,keyboard-interactive:pam 不幸的是,这不起作用: # I am not using an authorized public […]

Ansible不能SSH进入Vagrant Box

只是玩Ansible和stream浪汉。 我创build了这个小Vagrantfile: # -*- mode: ruby -*- # vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know what # you're doing. Vagrant.configure("2") do |config| # The most common configuration […]

Linux到Windows SSH authorized_keys

我想通过ssh使用密钥authentication从我的Ubuntu PC连接到Windows Box,但我不知道该怎么做。 我已经尝试将id_rsa.pub发送到Windows,然后将其重命名为authorized_keys (将此文件放置到C:\Users\Administrador\.ssh\的目录中),但它始终提示我input密码。 这似乎是系统无法正确识别文件。 我也尝试过使用ssh-copy-id的命令,但连接到Windows后,它给我一个错误。 任何解决scheme PS:我正在使用通过Chocolatey存储库安装的Windows的OpenSSH。

用户特定的SFTP隧道

基本上,我有一个不同的CentOS7 LAMP堆栈运行在不同的虚拟机(在xenserver)&openSSH。 我也有一些中间代理validation服务器运行(一个用于HTTP,一个用于SSH,一个用于SFTP),以确保安全性,因此所有的虚拟机都可以运行在相同的端口上。 HTTP代理正在工作,但我无法设置SFTP代理。 我希望客户端能够根据他们的用户名隧道到适当的VPS。 我尝试了许多不同的方法,并研究了几个不同的事情,试图使这个工作无济于事。 对于这个例子,假设有人试图通过我的外部IP(12.345.678.90)在端口80上查看vps1.com。 首先他们击中路由器(哪个端口将它们转发给HTTP代理),HTTP代理通过VirtualHosts将它们转发到正确的本地机器。 假设vps1.com的本地IP为192.168.1.10,vps2.com的为192.168.1.20。 他们被转发到正确的本地IP,并提供正确的内容。 太棒了,这部分工作正常。 现在让我们假设vps1.com的网站pipe理员想要login并更改他的网站。 他将以用户johnVPS1的身份login到端口2222上的SFTP客户端12.345.678.90。 路由器成功将其转发给SFTP代理(位于192.168.1.7)。现在,SFTP代理应将隧道或转发给正确的VPS,以便他可以编辑他的网站,但他无法访问任何其他内容。 External IP 12.345.678.90 Router ——————————————— / \ Port 80 / \ Port 2222 / \ / \ HTTP Proxy SFTP Proxy / \ / \ vps1.com / \ vps2.com johnVPS1 / \ billVPS2 / \ / \ 192.168.1.10:80 192.168.1.20:80 192.168.1.10:2222 192.168.1.20:2222 […]

如何限制plesk用户SSH访问只有他自己的网站空间? chroot的?

我创build了一个Parallels plesk面板webspace并允许SSH访问: 在plesk转到webspace Websites&domains选项卡Web hosting访问在通过SSH访问服务器select / bin / sh我通过SSH连接,我意识到我可以到服务器的任何地方并创build文件。 我想限制SSH访问只是用户目录。 我读了chroot 。 你认为这是解决scheme吗? 有没有办法在Plesk中直接configuration?

通过SSH代理(页面)可以使用的私钥的最大数量是多less

在回答重新使用SSH密钥的同时,我对自己的问题有了一个质疑, 你可以在ssh代理中保存多less个ssh密钥? (和/或腻子选美)。 (作为一个testing,我加载了10个键到我的选美中,似乎没有问题)

根据用户名委托SSH USERAUTHstream量

我想为给定的用户对不同的SSH服务器执行基于pubkey的身份validation,而不修改客户端configuration,但允许修改服务器软件。 还有几个类似的问题。 这和这个请求基于主机名而不是用户名的调度。 这个和这个尝试按用户名分配,但是他们只有第一个ssh会话导致调用第二个ssh命令的答案,所以如果启用了代理转发,这将只在最终目的地使用公共密钥。 这个问题在如何达到既定目标方面更具体。 图层 我已阅读RFC 4251第1节 。 据此,SSH堆栈中有三层。 TRANS(传输)层提供完整性和服务器authentication。 USERAUTH(用户authentication)层进行用户authentication,CONNECT(连接)层复用实际的有效载荷数据。 所以我想要一个人在TRANS层的中间拦截,同时转发USERAUTH和CONNECT层。 client proxy server CONNECT X———–X USERAUTH X———–X TRANS X—X X—X TCP X—X X—X 由于TRANS层服务器authentication,客户端显然会看到代理的公钥,这在我的应用程序中是可以接受的。 根据RFC 4252第1节 ,USERAUTH层从TRANS层接收会话标识符。 这意味着实际的服务器可能需要一些额外的function,所以它可以使用客户端和代理之间协商的会话标识符,而不是使用代理服务器自己协商的那个。 可以这样做吗? 有没有已知的这种scheme的实施? 还是有一些我忽略了一些原因,即使一个人可以控制代理服务器和服务器上运行的软件,为什么不能工作呢? 应用 各种服务都可以作为随时可用的Docker镜像,通过这种或那种方式提供git通过SSH访问数据。 通常所有访问都是使用一个帐户完成的,使用公钥来实际区分用户。 所以通过公钥是至关重要的。 可以使用不同的端口公开这些服务。 但是使用特权端口以外的服务可能被认为是不好的风格,使用无特权的端口作为安全风险,并且整体上用户名比端口号更难忘。 此外,无论如何,用户名是必需的,即使它只是git 。 不需要非标准端口号允许使用较短的‹user›@‹host›:‹path› git仓库的标记,而不是更长的ssh://‹user›@‹host›:‹port›/‹path› 。 我怀疑目前任何常见的Docker镜像都使用这样的东西。 但如果可能的话,那么可以build议在这些图像上添加所需的服务器更改,以便这样的方法将来可行。