我在各种机器上使用 ssh,主要是 linux。这些机器上的帐户命名方案各不相同:如果我的名字是 First Last,那么我有帐户:first、flast、last_f、lastf,有时我需要以 root 身份登录。对于我使用的每台机器,当我没有在命令行中指定时,我希望 openssh 客户端知道要使用哪个帐户。
所以问题是:ssh server如果没有指定用户名,我该如何做正确的事?
自动重新连接交互式 SSH 会话以在终端上重新建立 shell 的最佳方法是什么?我查看了 autossh,但这似乎专用于端口转发(我不需要)。
有没有任何 shell-fu 或实用程序允许这样做?
根据安全最佳实践,不应允许使用密码或密钥通过 SSH 进行 root 登录。相反,应该使用 sudo。
但是,如果您想使用 SSH (SFTP) 远程编辑服务器配置文件,例如 /etc 中的那些(Apache、Cron,等等),应该怎么做?
通过 SFTP 进行 root 访问的文件远程编辑是否与安全最佳实践兼容
应如何设置文件权限、用户组等以遵循安全最佳实践
目前,我使用受密码保护的公钥身份验证以 root 身份登录,但我不确定是否可以做一些更安全的事情,以便可以完全禁用面向 root 的 SSH 登录。
服务器是 Ubuntu 12.04。
有什么方法可以使用腻子从办公室计算机(Windows)连接家用计算机(Linux)。如果是,请告诉我建立连接的步骤。
我最近设置了一个远程服务器,目前我运行的只是最低配置。我设置了 OpenSSH,可以通过我的域名之一(使用 A 型 DNS 记录)访问机器。我也在机器上运行了一个 web 服务器,但是除了 SSH 之外的所有端口都在网关上被阻止。
虽然将来我计划打开端口 80,但现在我处于“开发”模式,我想禁止通过端口 80(或通过 HTTP 协议)对 Web 服务器的任何外部访问或流量)。目前,从外部访问机器的唯一方法是通过 SSH 连接。
现在,我想知道:如何通过SSH重定向本地 HTTP 服务器流量,以便我可以在本地访问我的 Web 服务器?即使我在路由器/网关上设置了 80 端口防火墙,也可以这样做吗?
首先,我检查了以下所有内容
但他们都没有帮助。所以,这是我的问题:
我可以从 A 到 B,或从 A 到 C,但不能从 A 到 B,然后从 B 到 C。当从 A 连接到 B 或 C 时,我总是使用ssh -A强制 SSH 代理转发。
但是为什么我仍然无法在A -> B -> C没有被要求输入密码的情况下进行连接?
更新:近三年后,同样的问题仍然困扰着我,但现在我已经缩小了问题的范围:
症状:我可以 ssh A -> B, or A -> C,但不能A -> B -> C, or A -> C -> B。
该主题准确描述了该问题 - SSH 代理转发不起作用。
从
解决 SSH 问题
https://confluence.atlassian.com/bitbucket/troubleshoot-ssh-issues-271943403.html
它说:
要列出您加载的密钥,请输入
ssh-add -l …
我无法通过公钥从 CentOS OpenSSH 客户端登录到 Windows 10 OpenSSH 服务器。我的密码总是被要求(并被接受)。
我发现了很多关于在服务器端正确设置权限的帖子:
C:\Users\username\.sshC:\Users\username\.ssh\authorized_keys我相信我已经完成了权限方面所需的一切。但是为了排除权限问题,我StrictModes=no在服务器上设置为测试并重新启动服务器。我发现我仍然必须输入我的密码。
还有什么可能阻止我通过公钥登录?
我正在尝试使用 PuTTY 将远程桌面从笔记本电脑安全地连接到台式计算机,到目前为止,我已经成功地在没有密钥的情况下通过正确的端口建立隧道,只需使用我的用户名和密码。这些都是 Windows 机器,运行 Windows 10。
我使用 PuTTYGen 生成了一个密钥,每次我都会将其复制并粘贴到public key(C:\Users\Chris\.ssh\authorized_keys在服务器上),如下所示:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBl8kTxv8cxW5tSvNjId+qrype1ZA+zEO3Qag+BHhlMvvtrx/faZp8XMXbSqulZVqXNFnN0ADAaAv2hMltP+rft4R8X9qaJSIlYdPo8F3BmV5G2mu+AQKnOrGooLfwc2oa4qOfHJMqzciFqVVTAOjo3BQ3ZtZnN23os1WfiRCcwlNZgrRlgpUPkA/CgaWTDnlDpxvNZp3fVia8pDvLlqVIIn+Fu7UEJi/pNDUiexrky7nR0JzIL3ZAPAu6U26WLJA7fYw7nlySzz/BuxiPyIzeRT+qiHQuwf2yOkCXNIeQQjgLsbw0eS67TWC7pa6NbLa0KqmgDChdSNsSB5aKTMh3T rsa-key-20190410
Run Code Online (Sandbox Code Playgroud)
然后,在客户端上,我选择私钥文件Settings > Connection > SSH > Auth > Private key file for Authentication > C:\Users\Chris\Desktop\SSH-KEY\key1.ppk
我进行了双重和三次检查:我粘贴到的公钥与authorized_keys加载到 PuTTY 中的私钥相对应。
当我尝试连接会话时,出现以下错误:
Using username "Chris".
Server refused our key
Chris@my.pub.lic.ip's password:
Run Code Online (Sandbox Code Playgroud)
我找不到更多文档或错误代码。
不存在日志文件,但是当我手动启用日志记录并在连接后打开它时,客户端的文件中存在此文件:
Using username "Chris".
Server refused our key
Chris@my.pub.lic.ip's password:
Run Code Online (Sandbox Code Playgroud)
除了生成和使用从服务器和客户端生成的密钥对之外,我还尝试过使用Chris和。chris
我后来在以下位置找到了服务器的附加日志文件C:\ProgramData\ssh\logs\sshd.log:
1184 2019-04-10 12:38:48.995 Server listening on :: port 22.
1184 2019-04-10 12:38:48.995 Server …Run Code Online (Sandbox Code Playgroud) 我有一台 Linux 机器,我需要 sftp 到 Windows SFTP 服务器。所以第一步,我在我的 Linux 机器上创建了我自己的id_rsa文件id_rsa.pub。
然后我将文本复制id_rsa.pub到id_rsa.pubSFTP 服务器中。
并且sftp连接工作正常。
但是,我想问一下将公钥从客户端复制到服务器的命令。我在谷歌搜索,我得到一个命令,它是:
ssh-copy-id -i id_rsa.pub ftp_user*@10.7.8.32
Run Code Online (Sandbox Code Playgroud)
但是我遇到了以下错误:
'exec' 不是内部或外部命令,也不是可运行的程序或批处理文件。该系统找不到指定的路径。
我相信这个权利有一些命令出口吗?而不是我手动将公钥复制到 SFTP 服务器。
SFTP 版本是 SFTP 协议版本 3。
我已经成功设置了通过 Windows 10 可选功能部分运行的 OpenSSH 服务器和客户端。
每当我尝试登录服务器时,系统都会要求我输入密码。我只为我的 Windows 10 PC 配置了一个密码,即我的 Microsoft 帐户的密码。但是,服务器拒绝使用该密码进行访问。我还没有为 SSH 服务器设置任何密码。
服务器的默认密码是什么?
sshd_config以下是文件夹中文件的内容%PROGRAMDATA%\ssh\:
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey …Run Code Online (Sandbox Code Playgroud) openssh ×10
ssh ×8
linux ×4
ubuntu ×3
putty ×2
sftp ×2
windows ×2
windows-10 ×2
events ×1
public-key ×1
shell-script ×1
ssh-agent ×1
ssh-keys ×1
sshd ×1
webserver ×1