我正在尝试根据传入的用户名在两个 ssh 服务器之间进行多路复用,即
ssh user1@testserver 将转到一个 sshd 实例,而 user2@testserver 将转到另一个。
这能做到吗?
我试图选择一个涵盖该主题的标题:
如果我PermitRootLogin设置为 ,为什么要使用fail2ban(或类似程序)without-password?
我认识的一位非常值得信赖且经验丰富的系统管理员建议我也安装fail2ban,因为开箱即用可以保护我的自定义服务器免受暴力攻击,因为它们消耗资源(而且我的可用资源数量有限)。
我认识的另一个非常值得信赖且经验丰富的系统管理员建议我不要安装fail2ban,因为我已经禁用了密码身份验证,因此没有必要防止暴力破解,因为没有可以工作的密码。
我真的很困惑。
感谢大家为我提供的任何帮助。
我需要了解 SSH 密钥交换,我曾尝试阅读 RFC 文档,但似乎很难理解,所以我使用 wireshark 捕获了数据包,我发现了各种用于 ssh 密钥交换的数据包
SSHv2 Client: Key Exchange Init
SSHv2 Server: Key Exchange Init
SSHv2 Client: Diffie-Hellman Key Exchange Init
SSHv2 Server: Diffie-Hellman Key Exchange Reply
SSHv2 Client: Diffie-Hellman GEX Init
SSHv2 Server: Diffie-Hellman GEX Reply
SSHv2 Client: New Keys
Run Code Online (Sandbox Code Playgroud)
任何人都可以详细解释每个数据包或 ssh 密钥交换的顺序吗??
我目前正在禁用所有 ssh 服务器上的密码身份验证(今天的好主意!)。我的一些服务器与其他人共享,我想强制他们使用带有密码的 ssh 密钥。是否可以在没有密码的情况下禁用 ssh 密钥的 ssh 登录?
运行 OpenSuse 13.1,我可以通过 SFTP 访问服务器:
问题:朋友可以从另一台计算机隧道到我的,以便他可以在我的机器上使用我的 SFTP 客户端吗?这可能吗?
换句话说:我们有一种情况,我可以通过 SSH/SFTP 访问从我的工作站到服务器。现在,住在其他地方的朋友应该使用此访问权限,它只能在我的机器上使用。请注意,不能从他的工作站直接访问服务器 (!!)。
我们需要从他的计算机到我的计算机进行 SSH 访问,以便他可以通过 SSH 连接到有问题的服务器。
我怎样才能做到这一点?为什么我们不能在会话中从#1 SSH 到#2 上的控制台,然后从机器#2 SSH 到控制台3?这就是所谓的“跨越式”
假设我运行一个接受 SSH 连接的服务器,作为一个聪明人,我使用 SSH 密钥而不是密码来连接它。有一个用户,webmaster,可以访问和控制与网站相关的目录和程序。每当我连接到服务器时,我都以webmaster.
这很好用,直到有一天我聘请了第三方公司在网站上工作了一周,为了让事情顺利进行,我希望他们在webmaster工作时登录。当一周结束并且工作完成后,我想用他们的密钥撤销对服务器的访问。
我将如何执行此操作,在服务器上为同一用户设置多个密钥,可以独立编辑或删除这些密钥?
我在云虚拟机上配置了一个小型网络。这个虚拟机有一个分配给 eth0 接口的静态 IP 地址,我称之为 $EXTIP。mydomain.com 指向 $EXTIP。在里面,我有一些 linux 容器,它们通过子网 10.0.0.0/24 中的 DHCP 获取它们的 ip(我称之为虚拟接口nat)。他们运行一些可以通过 DNAT 访问的服务。然后我想通过IPSec隧道连接到这些容器,所以我配置了StrongSwan。
conn %default
dpdaction=none
rekey=no
conn remote
keyexchange=ikev2
ike=########
left=[$EXTIP]
leftsubnet=10.0.1.0/24,10.0.0.0/24
leftauth=pubkey
lefthostaccess=yes
leftcert=########.pem
leftfirewall=yes
leftid="#########"
right=%any
rightsourceip=10.0.1.0/24
rightauth=########
rightid=%any
rightsendcert=never
eap_identity=%any
auto=add
type=tunnel
Run Code Online (Sandbox Code Playgroud)
一切正常,IPSec 客户端获得 10.0.1.0/24 子网的 IP 并且可以访问容器子网。我的问题是我无法通过隧道获得 SSH 连接。它根本不起作用,ssh 客户端不产生任何输出。使用 tcpdump 嗅探给出:
09:50:29.648206 ARP, Request who-has 10.0.0.1 tell mydomain.com, length 28
09:50:29.648246 ARP, Reply 10.0.0.1 is-at 00:ff:aa:00:00:01 (oui Unknown), length 28
09:50:29.648253 IP mydomain.com.54869 > 10.0.0.1.ssh: Flags …Run Code Online (Sandbox Code Playgroud) 假设我通过 SSH 从客户端连接到服务器,并且在会话过程中我拔掉了服务器的网线。在客户端上,ssh 连接保持活动状态大约 15 分钟,然后失败并显示“Broken pipe”消息。如何调整此超时?就我而言,我需要减少它,以便 SSH 在出现网络问题时尽早失败。
我找到了很多关于如何避免空闲会话断开连接的信息,或者有更长的连接设置超时,但没有关于已建立的 SSH 连接本身的超时。我也知道在 TCP 级别有这样的超时,但我怀疑 SSH 用不同的值设置了套接字,因为 TCP 超时通常在一分钟左右,而不是我用 SSH 观察到的 15 分钟。
客户端和服务器都是 Ubuntu 14.04 服务器版。
我管理着大量的 ESXi 主机,为了有效地做到这一点,我几乎需要始终允许 SSH 进入主机,因为在每个主机上启用和禁用通过 vCenter/vSphere 的 SSH 访问实在是太麻烦了。每次我需要登录主机并查看主机之间的 CLI 或 SCP 文件或其他任何内容时,我都会使用 host。
但是,我面临的问题是 vSphere 中的默认行为是在启用了 SSH 访问的任何主机上显示警告图标和 nag-banner。
这不仅仅是令人讨厌,这使得无法通过快速视觉扫描看到我的任何主机上是否存在我真正关心的警告条件,例如高 CPU 或内存使用率,或低磁盘空间,冗余丢失等。
那么,我如何摆脱这个警告图标(如果可能,还有唠叨横幅)?
我正在尝试在没有密钥的情况下启用从一个 EC2 实例到另一个实例的 SSH。
$ ssh ubuntu@slave 给我一个权限被拒绝(公钥)
而$ ssh -i aws-key.pem ubuntu@slave按预期正常工作。
由于我想启用 ssh 较少的日志记录,因此我执行了以下操作
1)在主实例中生成一个密钥,如
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa_master_to_slave
Run Code Online (Sandbox Code Playgroud)
2) 将该密钥添加到同一主实例的授权密钥列表中
$ cat ~/.ssh/id_dsa_master_to_slave.pub >> ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)
3) SCPed 公钥文件到从实例。
$ scp -i aws_key.pem /home/ubuntu/.ssh/id_dsa_master_to_slave.pub ubuntu@slave:~/
Run Code Online (Sandbox Code Playgroud)
4) 将 SCP-ed 文件也添加到从属实例的授权密钥列表中。
$ cat id_dsa_master_to_slave.pub >> ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)
仍然当我尝试 SSH 而不证明 pem 文件时,我得到
Permission Denied (Public Key)
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
ssh ×10
linux ×3
ssh-keys ×2
amazon-ec2 ×1
apache-2.2 ×1
fail2ban ×1
ipsec ×1
iptables ×1
proxy ×1
security ×1
strongswan ×1
tcp ×1
vmware-esx ×1
vmware-esxi ×1
wireshark ×1