如果我运行这个:
ssh user@server 'mysql -u user -p'
Run Code Online (Sandbox Code Playgroud)
当它询问我输入 MySQL 密码时,我开始输入时,密码在屏幕上可见。我怎样才能防止这种情况?如果我通过登录ssh然后执行 MySQL 命令,一切正常。
我做了很多 ssh-ing,并定期点击Ctrl+ S,这自然会发送一个XOFF,并导致各种问题(更不用说我需要一段时间才能弄清楚发生了什么,然后再过一段时间记住我需要按Ctrl+Q恢复。
我宁愿指示 Putty 永远不要让我打字XOFF。
有任何想法吗?
双方PreferredAuthentications=password并PreferredAuthentications=keyboard-interactive会提示输入密码,有啥它们之间的区别?
我谷歌搜索关键字ssh PreferredAuthentications password keyboard-interactive difference但没有找到答案。
我注意到的唯一区别是提示字符串(user@host's password:vs. Password:):
$ ssh -o PreferredAuthentications=password,keyboard-interactive my-host
root@my-host's password:
Password:
Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).
Run Code Online (Sandbox Code Playgroud)
为便于参考,以下内容来自jouell 的回答中提到的SSH:TDG 一书。
"keyboard-interactive"用户身份验证主要用于PAM在服务器端进行身份验证。它提供与用户的多重质询-响应对话,其中服务器向用户发送文本查询,用户输入响应,并且该过程可以重复任意次数。因此,例如,您可以PAM为 SSH配置一个模块,该模块使用RSA 安全令牌或一次性密码方案执行身份验证。人们对此感到困惑,因为默认情况下,"keyboard-interactive"身份验证通常只是在单个质询-响应周期中实现密码身份验证,只是提示输入密码,因此看起来与"password"验证。如果您不是为了不同的目的故意使用这两者,您可能希望禁用其中一个以避免最终用户混淆。
我一直在解决一个PubkeyAuthentication问题。当我使用详细模式时,我看到很多"key_load_public: no such file or directory"。
显然,这些键存在于文件系统上,因此该消息似乎没有通常的含义:
$ ls -al ~/.ssh/id_*
-rw------- 1 jwalton staff 751 Feb 4 2013 id_dsa
-rw------- 1 jwalton staff 608 Feb 18 2015 id_dsa.pub
-rw------- 1 jwalton staff 314 Feb 4 2013 id_ecdsa
-rw------- 1 jwalton staff 180 Feb 18 2015 id_ecdsa.pub
-rw------- 1 jwalton staff 464 Aug 23 18:15 id_ed25519
-rw------- 1 jwalton staff 103 Aug 23 18:15 id_ed25519.pub
-rw------- 1 jwalton staff 2546 Feb 4 2013 id_rsa
-rw------- 1 …Run Code Online (Sandbox Code Playgroud) 我有一个虚拟专用服务器,我可以使用我的 root 帐户使用 SSH 连接到它,显然能够执行任何 linux 命令并访问所有磁盘区域。
我想创建另一个用户帐户,它也可以使用 SSH 访问此服务器,但只能访问某个目录,例如 /var/www/example.com/
例如,假设此用户有一个巨大的 error.log 文件 (500 MB) 位于/var/www/example.com/logs/error.log
使用 FTP 访问此文件时,此用户需要下载 500 MB 才能查看日志的最后几行,但我希望他能够能够执行这样的事情:
tail error.log
因此,我需要他能够使用 SSH 访问服务器,但我不想授予他访问所有服务器区域的权限。
我怎样才能做到这一点?
我正在使用ProxyJump我的~/.ssh/config
Host jump
User jane
HostName 1.2.3.4
DynamicForward 1028
Host dev
User bill
HostName 5.6.7.8
ProxyJump jump
Run Code Online (Sandbox Code Playgroud)
我的同事使用的是旧版本的 ssh(他们无法更新)。允许他们通过跳转主机连接的等效配置是什么?将DynamicForward仍然工作?
我想要做的是:从命令行启动 PuTTY 会话,登录到远程机器和cd提供的目录。
putty.exe -agent -ssh some.host
Run Code Online (Sandbox Code Playgroud)
这将打开一个会话并使用我的默认登录名和私钥登录。
echo cd /some/remote/path/ > c:/stuff/cmd.txt
putty.exe -agent -ssh some.host -m 'c:/stuff/cmd.txt'
Run Code Online (Sandbox Code Playgroud)
这将打开一个会话,登录,执行命令(cd在本例中)并退出。
如何打开会话、登录cd并保持会话打开?
背景:我在windows下使用emacs,经常使用tramp & plink在远程Unix机器上编辑文件。我想制作一个热键,为该远程机器打开 PuTTY 会话,并将 chdirs 指向该文件的目录。在 emacs 方面没什么大不了的,但我坚持使用 PuTTY。
我查看了 ssh 的手册页,但我仍然一无所知。当我使用 ssh 连接到远程主机时,它显示如下内容:
ssh user@10.11.12.13
The authenticity of host '10.11.12.13 (10.11.12.13)' can't be established.
ECDSA key fingerprint is SHA256:CwrcHjdd9349u38rj392fr9j389rj3298rj23.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Run Code Online (Sandbox Code Playgroud)
我认为:
第三个选项[指纹]是什么?
我知道我可以简单地打开公钥并在==s之后更改评论,但是在创建时决定的评论字段是否也存储在私钥中?如果是这样,如何在不从头开始生成全新密钥的情况下更改该字段?
我正在尝试将 Windows 计算机设置为始终有两个 SSH 隧道连接到我的 Linux 服务器。
目前,我正在使用 PuTTY 打开两个 SSH 隧道:我在 PuTTY 中登录到服务器,将其最小化,并且从不碰它。这很有效,除非 SSH 连接断开:PuTTY 显示错误消息,我需要手动关闭错误并重新连接到服务器。
我想要做的是有一个应用程序可以设置两个 SSH 隧道,并且可以自动重新连接,而无需手动执行任何操作,包括输入密码。我通过两条隧道发送的数据是 VNC 连接,所以我通常不会在机器前清除错误和输入密码。这两条隧道是一条本地隧道,一条远程隧道。
(是的,我知道自动登录到 SSH 的危害。我计划创建一个没有特权且不允许交互登录的专用用户,并使用它。)
我确实发现了这个问题:如何可靠地保持 SSH 隧道打开?,但那是使用 Linux 作为 SSH 客户端,而我使用的是 Windows。