标签: ssh

使用 sudo(或从 upstart)运行时 Autossh 要求输入密码

我有一份新贵的工作/etc/init/tunnel.conf:

description "SSH Tunnel"

start on (net-device-up IFACE=eth0)
stop on runlevel[016]

respawn

exec autossh -nNT -o ServerAliveInterval=15 -R 12345:localhost:22 myuser@myserver
Run Code Online (Sandbox Code Playgroud)

当我查看/var/log/upstart/tunnel.log:

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-with-mic,password).
Run Code Online (Sandbox Code Playgroud)

但如果我从终端尝试

autossh -R 12345:localhost:22 myuser@myserver
Run Code Online (Sandbox Code Playgroud)

它连接到我的服务器而不要求我输入密码(我已经复制了 SSH 密钥)

当我使用sudo:

sudo autossh -R 12345:localhost:22 myuser@myserver
Run Code Online (Sandbox Code Playgroud)

它要求我提供 myserver 密码,所以我想这就是我在新贵工作中遇到的问题。为什么 SSH 要求我输入密码,我们以 root 身份运行它?

linux ssh upstart ubuntu-12.04

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

我可以(实际上)仅阻止对我所在国家/地区的 SSH 端口的访问吗?

我认为阻止访问 SSH 端口以仅允许我的国家/地区访问是一个明显的步骤,但我看不到一种实用的方法来做到这一点。

如果重要的话,我在英国。我可以完全访问 Ubuntu 服务器。服务器是远程基于云的服务器。

这似乎太简单了,我看不出它是如何工作的:http : //eminasif.wordpress.com/2014/01/14/how-to-restrict-server-ssh-access-or-any-port-only -for-specific-country-in-csf/

这显示了大量 IP,但我看不到如何将其转移到任何可用/实用的地方:http : //www.nirsoft.net/countryip/gb.html

事实上,只有一个办公室的人需要访问(没有人是远程的)。我不愿意设置我们在连接时使用的当前 IP 地址,因为它似乎每 6 个月更改一次。

我确实有其他良好的安全实践 - 禁用 root 登录、高位加密密钥等,但这似乎是一个明显的额外步骤。

这值得麻烦吗?有没有可靠的方法来做到这一点?

security ubuntu ssh

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

使用打开的 SSH 会话关闭终端

我在 SSH 会话期间仍然登录到远程服务器的同时关闭了终端(exit在关闭终端之前我没有这样做)。

这会损坏服务器吗?可能有什么后果?

linux ssh terminal

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

为近 30 个用户的大量(近 9000 个)服务器自动化和创建 SSH 密钥

有没有办法自动为近 30 个用户的大量(近 9000 个)服务器创建 SSH 密钥

linux ssh rsync scp

2
推荐指数
3
解决办法
1092
查看次数

使用 DSA 2048 位密钥的 SSH

我需要通过 ssh 密钥建立安全连接,先决条件是:

  • DSA 类型
  • 位数:2048
  • 密码:是

在我的 Linux 上,我无法创建这种密钥,该男子说:

DSA 密钥必须正好是 FIPS 186-2 指定的 1024 位

但是我发现在 Putty 中,我们可以创建 DSA 2048 位密钥。因此,我尝试将 Putty 生成的一对密钥放在用户的 .ssh 目录中。那行不通...

私钥看起来像这样:

PuTTY-User-Key-File-2: ssh-dss 
Encryption: aes256-cbc 
Comment: dsa-key-20150127 
Public-Lines: 17 
xxxxxxxxxxxxx 
Private-Lines: 1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Private-MAC: xxxxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

我认为身份验证无法使用此密钥。

我的问题是:

  • 我需要格式化这个键的布局才能在我的 CentOS 上使用吗?是否可以 ?
  • 如果没有,是否还有其他方法可以使用密码创建一对 2048 位 DSA 密钥?

感谢您的帮助,并为我的英语不好而感到抱歉

ssh centos authentication ssh-keys

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

使用 SSH 更改多个服务器上的配置文件

问题:

我正在尝试为多个服务器禁用 SSH 密码身份验证。这意味着我必须修改 sshd_config 文件。从

#PasswordAuthentication yes
Run Code Online (Sandbox Code Playgroud)

到

PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

我真的不想一件一件的去做。有什么方法可以使用单个命令在多个服务器上分发/修改配置文件?

您可以做出的假设:

  • 这些服务器具有相同的操作系统
  • 我可以一次向多台服务器广播 SSH 命令

其他注意事项:

我将配置文件设置为在每个服务器上侦听不同的地址和/或端口。

所以这不能通过从中央服务器下载更新的配置文件来完成。

我更喜欢使用文本替换命令来完成这项工作

ssh

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

ssh 会话中的自动换行不适用于 grep

当我通过 ssh 连接到我的 Linux 服务器并像这样使用 grep 时:

grep '超时超时' 日志文件 | 较少的

自动换行不起作用。

但是,如果我使用相同的命令但先使用 less,如下所示:

更少的日志文件| grep '超时'

线条环绕。我不确定是什么问题,或者这是否正常。但无论我使用什么 ssh 客户端,它都会发生。我已经尝试过 putty 和 Ubuntu 客户端。我怎样才能解决这个问题?

linux ssh grep

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

交换系统服务器 ssh 密钥是否安全?

与通过电子邮件交换 ftp/sftp 凭据相比,通过电子邮件交换系统 ssh 密钥更安全吗?如果一个人没有物理 ssh 私有文件,黑客是否能够通过知道公共 ssh-key 字符串来访问服务器?

security ssh ssh-keys

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

为什么我的 SSH 密钥不能正确转发?

我正在尝试从我的机​​器 ssh 到另一台机器,然后从那里到第三台机器。当我手动执行时,它的工作方式如下:

localhost$ scp ~/.ssh/id_rsa myuser@myhost.something.something.com:.
localhost$ ssh myuser@myhost.something.something.com
myhost.something.something.com$ ssh -i id_rsa myuser@10.25.100.42
10.25.100.42$ 
Run Code Online (Sandbox Code Playgroud)

但我想直接做,一步。我希望我的 SSH 密钥从 localhost 转发到第三台机器。我认为这会起作用,但它不起作用:

localhost$ ssh -A -t myuser@myhost.something.something.com ssh 10.25.100.42
Permission denied (publickey).
Connection to myhost.something.something.com closed.
Run Code Online (Sandbox Code Playgroud)

为什么?如何在来自的单个命令中执行此操作localhost?以下是我使用详细标志时您可以看到的更多细节:

localhost$ ssh -v -A -t myuser@myhost.something.something.com ssh 10.25.100.42

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to myhost.something.something.com [X.X.X.X] port 22.
debug1: Connection established.
debug1: identity file /home/myuser/.ssh/id_rsa type …
Run Code Online (Sandbox Code Playgroud)

ssh rsa public-key ssh-keys

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

OpenSSH 将 <IPv6>%2 添加到 known_hosts

当我使用 IPv6 连接到 CentOS 7 主机时<IPv6 host addr>%2,known_hosts即使该主机的主机密钥(带有主机的 IPv6 地址)已经存在于known_hosts.

代表什么%2?我使用的是 CentOS 7 中未经修改的 OpenSSH,版本 6.6.1p1-25,版本 25.el7_2。

更新:评论提到名称解析是一个可能的问题。事实上,我在客户端机器上使用 systemd-resolved。当我resolved从/etc/nsswitch.conf(hosts选项)中删除时,问题不再发生。这是与systemd-resolved-219-19.el7_2.7.x86_64)。

更新(2017 年 2 月):我刚刚注意到systemd 已解决的错误 4465,所以我注意到的行为是/只是一个错误,将在更高版本的 systemd 中修复。

ssh ipv6 known-hosts ssh-keys systemd

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