我已经多次成功且轻松地设置了无密码 ssh 身份验证(通过authorized_keys),通常是在之前没有任何自定义 ssh 相关配置更改的服务器上。
现在,我需要在 CentOS 服务器上设置它,在该服务器上,另一个人之前由于一位消息灵通的经理表达的“安全问题”而禁用了此功能。那个人不再可用,我无法弄清楚如何使这项工作发挥作用。
我在 sshd_config 中有这个:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
UsePAM yes
Run Code Online (Sandbox Code Playgroud)
还有其他设置,但我认为它们没有区别。有什么建议我应该检查以完成这项工作吗?
以下命令按预期工作。
ssh soak@10.10.10.11 "ssh soak@10.199.199.191 'cat test.txt'" > /home/shantanu/test.txt
Run Code Online (Sandbox Code Playgroud)
我需要做的是复制整个目录而不是单个文件。
可以将 rync 与 SSH 隧道一起使用吗?
我想通过位于公共子网上的 Linux SSH 堡垒服务器连接到私有子网上的 Linux 数据库服务器。我还想创建一个到端口 3306 的隧道。
当我尝试从堡垒服务器创建 SSH 连接时,我收到“权限被拒绝(公钥)”。信息。
ssh -L 10.0.0.10:22:10.0.1.10:22 user@10.0.1.10
Run Code Online (Sandbox Code Playgroud)
这是失败的调试输出:
> debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
正确的公钥已经在数据库服务器上,所以我想我需要在某处输入私钥。我在哪里输入私钥?在 3306 上创建隧道是否需要更改 sshd 配置?
我一直在尝试通过 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 上。
我们正在考虑改变的安全流程之一是我们允许用户访问我们服务器的方式。我们有大约 20 个 Web 服务器,其中唯一的访问权限是 SSH,目前我们使用密码身份验证。由于基于密钥的身份验证更加安全,我必须考虑如何最好地管理此过程。
如果我们有 8 个远程用户都使用不同的机器,我们如何控制密钥身份验证,因为这些机器中的每一个都需要服务器的密钥。管理是在客户端级别还是在服务器级别完成?当用户更换他的笔记本电脑或尝试从不同的机器/位置远程访问时会发生什么?
除此之外,我们正在研究:
更改 SSH 端口 我们已经禁用了 root 正在查看使用 PAM 白名单 IP 进行服务器访问的 google-authenticator?用于服务器跳跃的安全 SSH 服务器?
还有什么遗漏吗?
我忘了怎么做这个程序。
我在 OSX 10.9.1 上做过
ssh-keygen在我的服务器上运行$HOME/.ssh/id_rsa,从我的服务器中删除了私钥 id_rsa $HOME/.ssh/config在我的笔记本电脑中创建以下内容ssh-add $HOME/.ssh/id_rsa我的 .ssh/config
Host server.myhomepage.com
User masi
Port 22
Hostname server.myhomepage.com
IdentityFile ~/.ssh/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)
我跑
ssh-add .ssh/id_rsa
Enter passphrase for .ssh/id_rsa:
Identity added: .ssh/id_rsa (.ssh/id_rsa)
Run Code Online (Sandbox Code Playgroud)
并运行更多
ssh server.myhomepage.com
Saving password to keychain failed
Run Code Online (Sandbox Code Playgroud)
它在图形窗口中询问我的 id_rsa 密码短语,我给出了正确但收到失败消息。然后,它在终端中询问我是否正确输入了我的私钥的密码,但仍然显示失败的消息。我用正确的密码跑了很多次
Identity added: /Users/masi/.ssh/id_rsa (/Users/masi/.ssh/id_rsa)
masi@server.myhomepage.com's password:
Permission denied, please try again.
Run Code Online (Sandbox Code Playgroud)
我忘记了如何正确执行此程序。 如何正确地将钥匙放在钥匙串中?
我目前正在禁用所有 ssh 服务器上的密码身份验证(今天的好主意!)。我的一些服务器与其他人共享,我想强制他们使用带有密码的 ssh 密钥。是否可以在没有密码的情况下禁用 ssh 密钥的 ssh 登录?
假设我运行一个接受 SSH 连接的服务器,作为一个聪明人,我使用 SSH 密钥而不是密码来连接它。有一个用户,webmaster,可以访问和控制与网站相关的目录和程序。每当我连接到服务器时,我都以webmaster.
这很好用,直到有一天我聘请了第三方公司在网站上工作了一周,为了让事情顺利进行,我希望他们在webmaster工作时登录。当一周结束并且工作完成后,我想用他们的密钥撤销对服务器的访问。
我将如何执行此操作,在服务器上为同一用户设置多个密钥,可以独立编辑或删除这些密钥?
我有一个配置.ssh/authorized_keys了单个permitopen选项的工作密钥。我去添加了一个额外的permitopen,它不允许到新服务器的隧道。该文件说:
多个 PermitOpen 选项可以应用于同一个公钥,如果它们用逗号分隔,因此一个密钥可以允许多个端口。
但是,文档没有显示任何示例。有人可以提供一个工作示例吗?我已经尝试了以下两种方法:
permitopen="host-1:3389",permitopen="host-2:3389" ssh-rsa AAAAC...
和
permitopen="host-1:3389,host-2:3389" ssh-rsa AAAAC...
我有一台位于防火墙后面的机器。我使用带有端口转发的 VPN 隧道通过 ssh 远程连接到它。为了连接到机器,我使用了 VPN 的外部 IP 以及我个人和临时分配的端口。我使用的命令是:
ssh USER@VPN_IP -p PORT
Run Code Online (Sandbox Code Playgroud)
由于VPN_IP并且PORT经常更改,我无法获得保存主机密钥known_host以摆脱中间人攻击的优势,但同时主机密钥对我来说是众所周知的,我可以按顺序将其提供给 ssh将其用于当前VPN_IP和PORT组合。那可能吗?如何?
ssh-keys ×10
ssh ×9
ssh-tunnel ×3
linux ×2
known-hosts ×1
mac-osx ×1
private-key ×1
security ×1
tunneling ×1
vpn ×1