我有一个脚本,可以使用公钥身份验证通过 SSH 连接多台服务器。由于配置问题,其中一台服务器已停止让脚本登录,这意味着脚本卡在“密码:”提示中,它显然无法回答,因此它甚至不尝试其余服务器在列表中。
有没有办法告诉 ssh 客户端在密钥身份验证失败时不要提示输入密码,而只是报告连接错误并让我的脚本继续执行?
我正在尝试创建私钥并遇到问题。
当我使用 时ssh-keygen -t rsa -b 4096 -C "your_email@example.com",我会获得以下格式的私钥。
-----BEGIN OPENSSH PRIVATE KEY-----
uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END OPENSSH PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用的应用程序不接受这种情况。
我期待以下 RSA 格式的密钥。
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,25737CC2C70BFABADB1B4598BD8AB9E9
uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
如何创建正确的格式?这很奇怪,因为我拥有的所有其他 mac 都创建了正确的格式,除了我遇到问题的那个。
我在全新安装的 Mac OS Mojave 上
我正在尝试为另一个用户创建一个 ssh 密钥。我以 root 身份登录。我可以只编辑 ssh-keygen 生成的文件并将 root 更改为我想要的用户吗?
为什么有两种使用 OpenSSH 设置 SFTP 的方法以及何时使用哪种方法?它们之间有什么区别吗?
我的意思是第一个使用来自 OpenSSH 的库,第二个说“使用内部”,所以它也是 OpenSSH?
Subsystem sftp /usr/lib/openssh/sftp-server
Run Code Online (Sandbox Code Playgroud)
Subsystem sftp internal-sftp
Run Code Online (Sandbox Code Playgroud) 我已经在许多控制台(在 Linux、Mac 上……)以及许多不同网络中的许多不同机器上看到了这一点。我永远无法确定发生这种情况的确切原因:您所要做的就是通过 SSH 登录到一台机器。如果由于某种原因连接中断(为简单起见,假设网络电缆被拉出),那么有时控制台会永远挂起 - 在其他时候,它只是正常退出到父 shell。
发生这种情况时很烦人(例如,您丢失了命令历史记录。)是否有可以强制退出的秘密键盘快捷键(Ctrl-C 或 Ctrl-D 不起作用)?无论如何,所有实现中出现这个随机“错误”的原因是什么?
在我的业余时间,我通过 VPN 远程支持我妻子的办公室到 Windows 服务器。我即将购买不支持 VPN 的无线宽带服务。
我不想直接打开远程桌面端口,我想设置一个进入网络的 SSH 隧道,如果有必要,然后在上面设置 VPN。
在 Windows 2003 Server 上使用的最佳 Windows SSH Server实现是什么,或者我应该只使用sshwindows吗?
我有两个文件,id_rsa和id_rsa.pub. 什么命令可用于验证它们是否是有效对?
我试图ssh在登录时自动更改到特定目录。我尝试使用以下指令使该行为正常工作~/.ssh/config:
Host example.net
LocalCommand "cd web"
Run Code Online (Sandbox Code Playgroud)
但是每当我登录时,我都会看到以下内容:
/bin/bash: cd web: No such file or directory
Run Code Online (Sandbox Code Playgroud)
尽管web我的主目录中肯定有一个文件夹。即使使用绝对路径也会给出相同的消息。需要明确的是,如果我cd web在登录后输入,我会进入正确的文件夹。
我在这里缺少什么?
编辑:
引号/绝对路径的不同组合给出不同的错误信息:
LocalCommand "cd web"
/bin/bash: cd web: No such file or directory
LocalCommand cd web
/bin/bash: line 0: cd: web: No such file or directory
LocalCommand cd /home/gareth/web
/bin/bash: line 0: cd: /home/gareth/web: Input/output error
Run Code Online (Sandbox Code Playgroud)
这让我认为引号不应该在那里,并且发生了另一个错误。
我有一个在 VPS 平台上运行的 CentOS 5.x 机器。我的 VPS 主机误解了我对连接的支持查询,并有效地刷新了一些 iptables 规则。这导致 ssh 侦听标准端口并确认端口连接测试。恼人的。
好消息是我需要 SSH 授权密钥。据我所知,我认为没有任何成功的违规行为。我仍然非常关心我在 /var/log/secure 中看到的内容:
Apr 10 06:39:27 echo sshd[22297]: reverse mapping checking getaddrinfo for 222-237-78-139.tongkni.co.kr failed - POSSIBLE BREAK-IN ATTEMPT!
Apr 10 13:39:27 echo sshd[22298]: Received disconnect from 222.237.78.139: 11: Bye Bye
Apr 10 06:39:31 echo sshd[22324]: Invalid user edu1 from 222.237.78.139
Apr 10 06:39:31 echo sshd[22324]: reverse mapping checking getaddrinfo for 222-237-78-139.tongkni.co.kr failed - POSSIBLE BREAK-IN ATTEMPT!
Apr 10 13:39:31 echo sshd[22330]: input_userauth_request: invalid user edu1 …Run Code Online (Sandbox Code Playgroud) SSH 支持两种密钥对签名算法:RSA 和 DSA。如果有的话,哪个是首选?对于 RSA,可接受的最小密钥长度是多少?
ssh ×10
linux ×3
security ×3
centos ×2
rsa ×2
command ×1
connection ×1
console ×1
cryptography ×1
login ×1
mac ×1
networking ×1
openssl ×1
public-key ×1
sftp ×1
ssh-keys ×1