我正在连接到远程服务器,但想确保它们的密钥是最近创建的。我如何知道 ssh 服务器的密钥何时生成?
如果我无法远程检查,是否可以使用工具在本地检查服务器的密钥年龄?
我有一个 Windows 工作站,它已使用 Putty 与远程服务器建立了 SSH 连接。从该工作站,我可以通过 SSH 隧道传输内容,包括在 SSH 服务器上运行的 HTTP 代理
我想知道,是否可以使与该工作站位于同一子网中的其他计算机连接到该工作站,并使用其 SSH 隧道/HTTP 代理?
我尝试在 Putty 中使用“本地端口接受来自其他主机的连接”选项,但当我尝试从其他设备连接到 Windows 工作站时,连接仍然被拒绝。
正确的配置方法是什么,以便我可以通过 SSH 隧道共享 HTTP 代理?
干杯,维克多
我正在尝试使用我用 putty (Win) 制作的密钥从 Mac 登录服务器。下面显示的一些输出看起来像是正在尝试,但我没有密码,所以我只是在对话框出现时按 Enter 键,所以我不知道如何让它接受空白密码。我知道它可以在我的 Win 机器上运行,无需密码或密码短语。
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/michael/.ssh/b.ppk
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug2: bad passphrase given, try again...
debug1: PEM_read_PrivateKey failed
debug1: read …Run Code Online (Sandbox Code Playgroud) FreeSSHd 安装在 Windows Server 2003 上,不是安装在 C: 驱动器上,而是安装在另一个驱动器 D: 上。当我在命令提示符下进入 D: 驱动器并输入 ssh 时,它告诉我 ssh 无法识别。
我使用哈希密码将自己添加为 FreeSSHd 的用户并启用了 SSH。
Windows 防火墙服务未运行。
我可以使用远程桌面连接连接到服务器。我想将 ssh 与 Mercurial 源代码管理系统一起使用。
当我通过远程桌面连接登录到服务器时,我还可以通过客户端计算机上的 ssh 和 putty 连接到服务器。
当我通过远程桌面连接从服务器注销后,我在客户端上输入:
ssh <username>@<server>
Run Code Online (Sandbox Code Playgroud)
我得到:
ssh: Connect to host <server> port 22: Connection refused
Run Code Online (Sandbox Code Playgroud) 在 Debian Squeeze 上,我将 sshd 设置为不允许密码登录并需要基于密钥的身份验证。
我注意到,当我尝试使用错误的 SSH 密钥从 WAN 登录我的盒子时,我在 auth.log 中没有收到“失败的公钥......”消息。我只记录了“来自...的连接”,仅此而已。
当我使用错误的密钥从 LAN 内登录到我的盒子时,我确实会记录“失败的公钥......”。我希望能够记录所有失败的 SSH 公钥尝试。
有人对为什么不记录来自 WAN 的失败密钥有任何建议吗?
我有2个服务器(A和B),我需要从rsync的文件A,以Broot身份。允许 root ssh 登录是可能的 ( PermitRootLogin without-password),但我想尽可能地将其锁定。我正在使用 ssh 密钥,并且 (on B) 根 ssh 密钥 (in /root/.ssh/authorized_keys) 仅限于A的 IP 地址 ( from="x.x.x.x ...")。
但是我怎样才能更多地锁定(这个 ssh 密钥)呢?是否可以将该 ssh 密钥限制为仅允许 rsync/文件传输(最好仅限于某个目录)?
对此进行研究将我指向提及scponlyshell 或rrsync来自 rsync 或rssh来自 OpenSSH 的脚本的古老网页。但是我怎么能只为那个键设置它们,而不让我的整个 root 帐户成为rssh?
我对 SLES 12 SP4 Linux 服务器中的 OpenSSH 有一个奇怪的问题。
我们在我们的服务器上安装了一个定制的 OpenSSH,所以在每台机器上我们都有两个版本的 OpenSSH,一个是操作系统的官方包,另一个是我们自己编译的。
对于 SLES 12 SP4,如果我们从另一台服务器运行以下命令
scp -r directory/. destination_server:/path/to/directory
出现以下错误
scp: error: unexpected filename: .
我们已经验证问题出在 /usr/bin/scp 下的 scp 二进制文件上,它由我们的 OpenSSH 运行,而不是它自己路径下的 scp。
经过搜索测试,解决方案是去掉 /usr/bin/scp 上的执行权限,所以我们版本的 OpenSSH 无法使用,客户端的 scp -r 完美运行。
是否有更优雅的方式告诉守护程序在其自己的路径下使用 scp 二进制文件而不是 /usr/bin/scp?
此致
我有一个远程 CentOS 服务器,假设它叫做 hostname.com
hostname.com 有多个用户帐户,我想以这些用户中的任何一个(使用 ssh 密钥而不是密码)通过 ssh 进入该服务器。
似乎每个人都建议只更改我的本地 ssh 配置,为每个远程用户添加服务器别名,然后为每个别名提供不同的 IdentityFile。
那么我必须ssh bob@aliased_hostname1和ssh alice@aliased_hostname2
还有其他解决方案吗?我宁愿不通过 ssh 进入别名主机名
理想我只想ssh bob@hostname.com或ssh alice@hostname.com自动选择正确的ssh密钥文件的基础上,远程用户名我试图登录为。
当我尝试通过 ssh 连接到我的一个交换机时,出现以下错误:
$ ssh remotehost
Unable to negotiate with 1.2.3.4 port 22: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1
Run Code Online (Sandbox Code Playgroud)
如果我列出可用的密钥交换算法,我可以看到我们确实拥有它;
$ ssh -Q kex
...
...
diffie-hellman-group14-sha1
...
Run Code Online (Sandbox Code Playgroud)
手动将其指定为选项确实有效,并为它创建一个 .ssh/config 条目,但如果它在 kex 列表中,不应该自动选择它吗?
ssh -o KexAlgorithms=diffie-hellman-group14-sha1 user@remotehost
Run Code Online (Sandbox Code Playgroud)
.ssh/配置
Host remotehost
KexAlgorithms +diffie-hellman-group14-sha1
Run Code Online (Sandbox Code Playgroud) 我有一台笔记本电脑和我访问的多个网络。当我在网络 Alpha 上时,我想要ssh 192.168.1.10,这是一个网络服务器。当我在网络 Beta 上时,我想要ssh 192.168.1.10,这是一个文件服务器。
因为我正在访问具有相同IP 的两台不同机器,所以我得到了大横幅
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Run Code Online (Sandbox Code Playgroud)
但真正发生的事情是我在不同的专用网络上,所以我的ssh命令的上下文是不同的。
我知道我可以做ssh -o StrictHostKeyChecking=no并绕过检查,但是有没有办法继续检查(嘿,我想知道其中一个主机是否真的改变了)但让它感知网络?