当我ssh进入服务器时,如何将环境变量从客户端传递到服务器?这个环境变量在不同的 ssh 调用之间发生变化,所以我不想在$HOME/.ssh2/environment每次进行 ssh 调用时都覆盖。我怎样才能做到这一点?
我看到 SSH 登录出现延迟。具体来说,有两个地方我看到了从瞬时到多秒延迟的范围。
现在,我只在这里查看 ssh 详细信息。显然,网络延迟、所涉及的硬件和操作系统的速度、复杂的登录脚本等都会导致延迟。对于上下文,我 SSH 到大量的 linux 发行版和一些主要使用 Ubuntu、CentOS 和 MacOS X 作为我的客户端系统的 Solaris 主机。几乎所有时间,ssh 服务器配置都与操作系统的默认设置保持不变。
我应该对哪些 ssh 服务器配置感兴趣?是否有可以调整的操作系统/内核参数?登录shell技巧?等等?
SSH 隧道让我很困惑。我想知道我是否可以在 Linux 中做到这一点。
我有3台机器..
A. My local machine at home.
B. Machine at work that I can SSH into (middle man).
C. My desktop at work that I can only SSH into from machine B.
Run Code Online (Sandbox Code Playgroud)
所以我可以从 A -> B 和 B -> C 进行 SSH,但不能从 A -> C 进行 SSH。
有没有办法设置从 A 到 B 的 SSH 隧道,所以当我运行其他 SSH 命令时,它们只能在我的本地机器 A 上工作?我基本上是在尝试将 git repo 从工作克隆到家(并且我无法在机器 B 上安装 git)。
此外,一旦设置.. 我将如何取消设置?
如何判断 Putty 是否已经知道并缓存了特定 ssh 服务器的凭据?
问这个问题的另一种方法是 Windows/Putty 相当于 unix/ssh known_hosts 文件是什么?
所以我们都知道如何使用 SSH 等方式使用公钥/私钥。但是使用/重用它们的最佳方法是什么?我应该永远把它们放在安全的地方吗?我的意思是,我需要一对密钥来访问 GitHub。我从头开始创建了一对,并用它来访问 GitHub 一段时间。然后我格式化了我的硬盘并丢失了那对。大不了,我创建了一个新对并将 GitHub 配置为使用我的新对。还是我不想失去的东西?
我还需要一对公钥/私钥来访问我们公司的系统。我们的管理员向我要了我的公钥,我生成了一对新密钥并将其交给了他。通常是创建一个新对来访问不同的系统更好,还是拥有一对并重用它来访问不同的系统更好?同样,创建两个不同的对并使用一个从家里访问我们公司的系统,另一个从工作中访问系统更好,还是只拥有一对并从两个地方使用它更好?
这个消息是什么意思?这是一个潜在的问题吗?渠道不安全?
或者这只是连接到新服务器时始终显示的默认消息?
过去我在使用 SSH 时经常看到这条消息:我总是以正常方式使用密码输入我的登录名,我感觉很好,因为我没有使用私钥/公钥(这更安全而不是短密码)。但是这次我已经为我与 bitbucket 的连接设置了一个带有 ssh 的公钥,但我仍然收到了消息。我知道最后的密码提示是一种不同的补充安全措施,用于解密私钥。
我希望有人可以对“无法确定真实性”消息的含义做出很好的解释。
The authenticity of host 'bitbucket.org (207.223.240.181)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,207.223.240.181' (RSA) to the list of
known hosts.
Enter passphrase for key '/c/Users/Steven/.ssh/id_rsa':
Run Code Online (Sandbox Code Playgroud) 当我使用 SSH 登录时,我只能看到这个...
-bash: /usr/bin/id: cannot execute binary file
-bash: [: : integer expression expected
Run Code Online (Sandbox Code Playgroud)
我在这里什么也做不了。命令如halt,poweroff,reboot将返回command not found。
我怎样才能解决这个问题?我正在使用 Debian Squeeze Linux
随着ssh -i <private key filename>您可以指示ssh来使用额外的私钥来尝试验证。
文档并不清楚如何明确使用该密钥。
在基于控制台的环境(例如 ssh 会话)中使用 gpg 会失败,因为 GTK pinentry 对话框无法在 SSH 会话中显示。
我试过了,unset DISPLAY但没有帮助。GPG 命令行选项不包括用于强制 pinentry 进入控制台模式的开关。
较旧的 GPG 版本提供了基于文本的提示,该提示在 SSH 会话中运行良好,但升级后却失败了。
有--textmode命令行开关,但显然,它还有其他作用。
为远程会话获取纯文本 pin 条目的正确和干净的方法是什么?
我正在学习 SSH,因为 Mac 似乎没有好的 SSH GUI。我知道如何进行数据库转储、浏览目录等,但我需要学习的最后一个难题是如何从服务器下载文件夹/整个目录并下载到我的本地计算机上,以便我可以将它们移动到另一台服务器。
任何帮助将不胜感激。
ssh ×10
linux ×3
bash ×2
command-line ×1
console ×1
debian ×1
encryption ×1
git ×1
gnupg ×1
known-hosts ×1
login ×1
openssh ×1
performance ×1
private-key ×1
public-key ×1
putty ×1
security ×1
solaris ×1
terminal ×1
tunnel ×1
windows ×1