标签: ssh

当命令作为 SSH 命令的参数提供时,SSH 使所有键入的密码可见

如果我运行这个:

ssh user@server 'mysql -u user -p'
Run Code Online (Sandbox Code Playgroud)

当它询问我输入 MySQL 密码时,我开始输入时,密码在屏幕上可见。我怎样才能防止这种情况?如果我通过登录ssh然后执行 MySQL 命令,一切正常。

linux ssh terminal passwords ubuntu

47
推荐指数
2
解决办法
1万
查看次数

您可以禁用 Putty 中的 Ctrl-S (XOFF) 按键吗?

我做了很多 ssh-ing,并定期点击Ctrl+ S,这自然会发送一个XOFF,并导致各种问题(更不用说我需要一段时间才能弄清楚发生了什么,然后再过一段时间记住我需要按Ctrl+Q恢复。

我宁愿指示 Putty 永远不要让我打字XOFF

有任何想法吗?

ssh terminal putty

46
推荐指数
4
解决办法
2万
查看次数

ssh -o PreferredAuthentications:“密码”和“键盘交互”之间有什么区别?

双方PreferredAuthentications=passwordPreferredAuthentications=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)

更新(2018-04-09):

为便于参考,以下内容来自jouell 的回答中提到的SSH:TDG 一书

"keyboard-interactive"用户身份验证主要用于PAM在服务器端进行身份验证。它提供与用户的多重质询-响应对话,其中服务器向用户发送文本查询,用户输入响应,并且该过程可以重复任意次数。因此,例如,您可以PAM为 SSH配置一个模块,该模块使用RSA 安全令牌一次性密码方案执行身份验证。人们对此感到困惑,因为默认情况下,"keyboard-interactive"身份验证通常只是在单个质询-响应周期中实现密码身份验证,只是提示输入密码,因此看起来与"password"验证。如果您不是为了不同的目的故意使用这两者,您可能希望禁用其中一个以避免最终用户混淆。

ssh authentication openssh

46
推荐指数
1
解决办法
4万
查看次数

“key_load_public:没有这样的文件或目录”是什么意思?

我一直在解决一个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)

linux ssh openssh

46
推荐指数
1
解决办法
10万
查看次数

我可以创建一个只能访问特定目录的 SSH 用户吗?

我有一个虚拟专用服务器,我可以使用我的 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 访问服务器,但我不想授予他访问所有服务器区域的权限。

我怎样才能做到这一点?

linux ssh debian root ubuntu

45
推荐指数
2
解决办法
7万
查看次数

替换 ~/.ssh/config 中的 ProxyJump

我正在使用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仍然工作?

ssh

45
推荐指数
1
解决办法
3万
查看次数

登录后如何在 PuTTY 中运行远程命令并保持 shell 运行?

我想要做的是:从命令行启动 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 putty

44
推荐指数
1
解决办法
18万
查看次数

SSH - 我如何回答“[指纹]”的“连接”提示,它有什么作用?

我查看了 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)

我认为:

  • 是 - 连接并在已知主机文件中写入指纹
  • 否 - 不连接(显示“主机密钥验证失败。”)

第三个选项[指纹]是什么?

ssh

44
推荐指数
1
解决办法
2251
查看次数

如何更改 RSA 密钥 (SSH) 的注释字段?

我知道我可以简单地打开公钥并在==s之后更改评论,但是在创建时决定的评论字段是否也存储在私钥中?如果是这样,如何在不从头开始生成全新密钥的情况下更改该字段?

ssh private-key

43
推荐指数
3
解决办法
3万
查看次数

来自 Windows 的自动 SSH 隧道

我正在尝试将 Windows 计算机设置为始终有两个 SSH 隧道连接到我的 Linux 服务器。

目前,我正在使用 PuTTY 打开两个 SSH 隧道:我在 PuTTY 中登录到服务器,将其最小化,并且从不碰它。这很有效,除非 SSH 连接断开:PuTTY 显示错误消息,我需要手动关闭错误并重新连接到服务器。

我想要做的是有一个应用程序可以设置两个 SSH 隧道,并且可以自动重新连接,而无需手动执行任何操作,包括输入密码。我通过两条隧道发送的数据是 VNC 连接,所以我通常不会在机器前清除错误和输入密码。这两条隧道是一条本地隧道,一条远程隧道。

(是的,我知道自动登录到 SSH 的危害。我计划创建一个没有特权且不允许交互登录的专用用户,并使用它。)

我确实发现了这个问题:如何可靠地保持 SSH 隧道打开?,但那是使用 Linux 作为 SSH 客户端,而我使用的是 Windows。

windows ssh ssh-tunnel

42
推荐指数
4
解决办法
8万
查看次数