小编Dav*_*ave的帖子

使用管理员帐户和公钥登录 Windows 10 OpenSSH 服务器

我无法通过公钥从 CentOS OpenSSH 客户端登录到 Windows 10 OpenSSH 服务器。我的密码总是被要求(并被接受)。

我发现了很多关于在服务器端正确设置权限的帖子:

  • 目录 C:\Users\username\.ssh
  • 文件 C:\Users\username\.ssh\authorized_keys

我相信我已经完成了权限方面所需的一切。但是为了排除权限问题,我StrictModes=no在服务器上设置为测试并重新启动服务器。我发现我仍然必须输入我的密码。

还有什么可能阻止我通过公钥登录?

windows ssh openssh sshd windows-10

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

无法通过共享连接进行 scp

我在使用 SSH 共享连接时遇到以下问题:

# Set up a shared connection
ssh -f -N -M -S "$SSH_CONTROL_SOCKET" root@"$ONE_HOST"

# I can scp *without* the shared connection
scp root@"$ONE_HOST":/etc/hosts /dev/null

# I can execute a remote command *with* the shared connection
ssh -S "$SSH_CONTROL_SOCKET" root@"$ONE_HOST" "date"

# But I can't scp *with* the shared connection
scp -vvv -S "$SSH_CONTROL_SOCKET" root@"$ONE_HOST":/etc/hosts .
Run Code Online (Sandbox Code Playgroud)

该脚本给出以下输出:

hosts                                                              100%   59    67.8KB/s   00:00
Wed Feb 28 08:23:10 MST 2018
Executing: program /home/myUser/ssh_sharing_socket host myHost.example.com, user root, command scp -v …
Run Code Online (Sandbox Code Playgroud)

linux ssh bash openssh bash-scripting

6
推荐指数
1
解决办法
1840
查看次数

即使生成了正确的明文,OpenSSL 仍表示“解密错误”

我在 RHEL 6.9 下使用 OpenSSL 1.0.1e-fips。

我用这个命令加密了一个文件:

openssl enc -aes-256-gcm -a -e -in plaintext -out ciphertext
Run Code Online (Sandbox Code Playgroud)

然后我用这个命令解密加密的文件:

openssl enc -aes-256-gcm -a -d -in ciphertext
Run Code Online (Sandbox Code Playgroud)

此命令产生以下输出:

test text
bad decrypt
Run Code Online (Sandbox Code Playgroud)

文件已正确解密(即文件内容确实是“测试文本”),但 OpenSSL 报告“解密错误”。即使我明确指定要使用的哈希函数(例如-md sha512),也会发生这种情况。

为什么我收到“坏解密”消息?

linux openssl

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

在使用 SSH 生成的远程 Bash Shell 中设置环境变量

我经常执行这样的命令:

ssh username@hostname 'bash -s' < bashScriptToExecuteRemotely
Run Code Online (Sandbox Code Playgroud)

我现在有一个案例,bashScriptToExecuteRemotely期望设置某些环境变量。就我而言,假设它们是 FOO=14 和 BAR=giraffe。

我怎样才能让在远程主机上启动的 bash shell 在执行之前设置这些环境变量bashScriptToExecuteRemotely

linux ssh bash openssh

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

Bash:循环存储的主机名,通过 SSH 在这些主机上执行命令

我将主机名列表存储在名为 ssh_hosts.txt 的文件中。在 shell 脚本中,我循环访问 ssh_hosts.txt 中的主机名,并通过 SSH 在指定主机上执行命令。shell 脚本如下所示。

问题是脚本在处理第一个主机后退出。但是,如果我除了通过 ssh 在指定主机上执行命令之外执行其他操作,脚本将运行完成。

在下面的示例中,我注释掉了对 ssh 的调用,并将其替换为当前主机名的简单回显。这将运行直至完成。

我从 Windows 7 上的以下 Cygwin 版本下运行的 bash shell 执行此脚本:

$ uname -a
CYGWIN_NT-6.1 myHostname 1.7.16(0.262/5/3) 2012-07-20 22:55 i686 Cygwin
Run Code Online (Sandbox Code Playgroud)

涉及到的SSH版本有:

$ ssh -V
OpenSSH_6.0p1, OpenSSL 1.0.1c 10 May 2012

$ ssh myUsername@remoteHost 'ssh -V'
myUsername@remoteHost password:
OpenSSH_6.7p1 Debian-5+deb8u3, OpenSSL 1.0.1t  3 May 2016
Run Code Online (Sandbox Code Playgroud)

这是 shell 脚本:

#!/bin/bash

if [[ $# -ne 1 ]]; then
   echo "Usage: $(basename $0) <user name>"
   exit 1
fi

USER="$1" …
Run Code Online (Sandbox Code Playgroud)

ssh cygwin bash openssh bash-scripting

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

标签 统计

openssh ×4

ssh ×4

bash ×3

linux ×3

bash-scripting ×2

cygwin ×1

openssl ×1

sshd ×1

windows ×1

windows-10 ×1