在我的 centos 服务器上工作。通过腻子连接。更改了 SSH 默认端口并禁用了 root 登录。但是客户端没有保存新端口并默认为 22(我的新端口是 42650 或类似的)。所以现在我无法登录/连接到它。
我可以通过 ssh 连接到我的实例并使用它,但如果我有一段时间不活动,那么我必须重新连接。是协议、服务器还是客户端导致超时?Windows 8.1 上的 cygwin 和 putty 都会发生这种情况(但我没有在 2 个 Ubuntu 之间尝试过)。
这是一个非常基本的问题,请耐心等待。我正在设置一个 VPS,似乎为了安全起见,建议禁用 SSH 用户使用密码登录。
如果我为我的桌面授权了 SSH 密钥,如果该桌面变为 kaput 会发生什么?我不会完全失去对 VPS 的访问权限吗?如果是这样,这似乎是一件冒险的事情。
我正在尝试编写一个脚本,将在我的台式机(windows/cygwin)上创建的构建部署到我的测试环境(linux)中的一台机器上。
我想使用 scp 将构建复制到目标机器。目标机器上的唯一帐户是 root,我无法为此任务创建特殊用户。root 用户无法使用 ssh 密钥登录(我怀疑这是在 ssh 服务器上配置的,但我不知道哪个配置选项控制了这个)。无论如何,我无法更改 ssh 服务器的配置。
我的台式机使用 Cygwin,并且安装了 ssh。我需要的是命令行fu,它允许我将密码放在命令行上。
我知道在 shell 脚本中使用明文密码的危险,但这不是这里的问题。
我正在运行带有 WHM 和 CSF 防火墙的 CENTOS Web 服务器。我正在尝试从默认端口更改 SSH。我已经在 CSF 中打开了端口并修改了/etc/ssh/sshd_config取消注释端口行并将其更改为我希望它打开的端口。然后我使用 WHM 和命令行重新启动了 SSH,然后它重新启动。但是,当它重新启动时,它仍然使用默认端口 22。我做错了什么?
sshd_config 文件中的设置:
# Host *
# ForwardAgent no
# ForwardX11 no
# RhostsRSAAuthentication no
# RSAAuthentication yes
# PasswordAuthentication yes
# HostbasedAuthentication no
# GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# GSSAPIKeyExchange no
# GSSAPITrustDNS no
# BatchMode no
# CheckHostIP yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
Port 2222
# Protocol …Run Code Online (Sandbox Code Playgroud) 我在 Amazon Linux AMI 上有我的Apache HTTP 服务器。我正在尝试通过 SSH 作为 ec2 用户在我的根目录子文件夹上安装 Prestashop。
cd /var/www/html
Run Code Online (Sandbox Code Playgroud)
但是当我尝试创建目录时
mkdir prestashoptest
Run Code Online (Sandbox Code Playgroud)
我总是收到这个错误
mkdir: cannot create directory ‘prestashoptest’: Permission denied
Run Code Online (Sandbox Code Playgroud)
我该怎么办?我怎样才能获得完全许可?
我的 SSH 配置有一个相当奇怪的问题。我在远程访问卡的帮助下设置了我的服务器,并使用 KVM 查看器配置了所有内容。
因此,在通过 KVM 查看器登录服务器时,我仅使用公钥配置了 SSH,并尝试从本地笔记本电脑登录。它工作得很好。
如果我退出 KVM 会话(或在 KVM 会话中与用户一起注销),我将无法再通过 ssh 登录(公钥被拒绝)。SSH 登录仅在用户在某处仍处于登录状态时才有效。
任何提示可能是什么问题?
登录失败的控制台输出(所有个人数据交换):
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/mylocaluser/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 103: Applying options for *
debug1: Connecting to 100.100.100.100 [100.100.100.100] port 12345.
debug1: Connection established.
debug1: identity file /Users/mylocaluser/.ssh/id_rsa type 1
debug1: identity file /Users/mylocaluser/.ssh/id_rsa-cert type -1
debug1: identity file /Users/mylocaluser/.ssh/id_dsa type -1
debug1: …
我在我的 SSH 服务器上使用 Google Authenticator 和 Andoid 应用程序来生成代码。
在我运行$ google-authenticator应用程序后,创建一组紧急密钥:
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@machine%3Fsecret%ABCDEFGHIJKLMNOP
Your new secret key is: ABCDEFGHIJKLMNOP
Your verification code is 123456
Your emergency scratch codes are:
12345678
90123456
78901234
56789012
34567890
Run Code Online (Sandbox Code Playgroud)
如果使用所有5个代码,我该怎么办?如何生成新的集合?如果我运行$ google-authenticator它将生成新密钥ABCDEFGHIJKLMNOP,Android 应用程序将停止工作,直到我设置新密钥。
我知道一种方法,在服务器列表上运行,如下所示:
for server in $(cat server.list); do
ssh-copy-id user@host
done
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更好的方法来做到这一点?不需要任何用户输入的自动功能。NIS 能做到吗?
我有一台我管理的服务器。它可以通过端口 22 访问许多机器。我想将它用作某些用户的堡垒主机。问题是我希望我服务器上的每个用户都有自己的 IP/地址白名单,它可以通过 SSH 连接到。
例如,假设我的机器 M 可以访问服务器 S1、S2、S3、... S8。我在机器 M 上有 3 个用户,A、B 和 C。我希望 A 只能通过 SSH 连接到 S2,B 只能通过 SSH 连接到 S1、S5 和 S6,而 C 能够通过 SSH 连接到 S2 、S3、S4、S5 和 S8。
我该如何实现?