标签: ssh

Duplicity - 如何在命令中输入密码?

我已经尝试了许多明显的命令,如Duplicity Man page 中详述的那样,但它似乎不起作用。

设想

我通过 SSH 连接到一台机器,然后运行 ​​Duplicity;以下是各种命令:-

ssh -i /keys/key.pem -o StrictHostKeyChecking=no user@ipAddress "sudo duplicity --s3-european-buckets --s3-use-new-style /local/dir/stuff s3+http://bucket/dir/"
Run Code Online (Sandbox Code Playgroud)

问题是,它总是要求输入密码,我想将其作为自动化过程运行,而无需 CLi 用户回复。手册页唯一精确的参考是环境变量PASSPHRASE,但很少提及(加密密钥或签名密钥似乎不同)如何设置。

注意:它要求GnuPG 密码

ssh gpg duplicity

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

ssh隧道时netcat的“-w timeout”选项的目的是什么?

我与发布另一个问题的人处于完全相同的情况,我试图通过网关服务器建立 ssh 连接,而不必 ssh 进入网关并从那里再次手动 ssh 到目标服务器。我正在尝试设置那里接受的答案中给出的解决方案,~/.ssh/config其中包括:

host foo
  User webby
  ProxyCommand ssh a nc -w 3 %h %p

host a
  User johndoe
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试时ssh foo,我的连接会保持活动状态 3 秒,然后因Write failed: Broken pipe错误而终止。删除该-w 3选项可以解决问题。-w 3在原始解决方案中这样做的目的是什么,为什么Broken pipe在我使用它时会导致错误?省略它有什么害处?

ssh tunneling proxy gateway netcat

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

按名称获取打开的 ssh 连接列表

我的 .ssh 目录中有一个配置文件,如下所示

Host somehostA
HostName 123.45.67.89
User katsh
Run Code Online (Sandbox Code Playgroud)

所以在我的本地机器上,我可以通过配置文件中的名称通过 ssh 进入多台机器,就像这样

ssh somehostA
ssh somehostB
ssh somehostC
...
etc
Run Code Online (Sandbox Code Playgroud)

是否可以通过名称获取我连接的所有机器的列表?

我知道我可以做到:

 lsof -i tcp -n | grep '\<ssh\>'
Run Code Online (Sandbox Code Playgroud)

我会得到类似的东西

ssh        9871 katsh    3u  IPv4 400199      0t0  TCP 987.654.2.2:47329->987.654.2.2:47329:ssh (ESTABLISHED)
ssh       20554 katsh    3u  IPv4 443965      0t0  TCP 123.456.7.8:41923->123.456.7.8:ssh (ESTABLISHED)
Run Code Online (Sandbox Code Playgroud)

但它没有列出他们的名字,只是 IP

linux ssh

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

通过 ~/.ssh/config 在 SSH 中禁止密码验证?

我知道我在这里打了一场失败的战斗,但是有了正确的肘部润滑脂,我有了与 GoDaddy 的共享主机,让我通过 pubkey auth SSH(添加到 ~/.ssh 目录和authorized_keys 文件中) ,他们的支持告诉我我无法使用共享主机)。我会尽快离开它们,但无论如何我都会问这个问题,以解决未来可能对我有帮助的任何问题:

有没有办法强制公钥身份验证,无论是使用特定于用户的配置文件还是类似的东西?我总是可以走很长的路,将一些脚本放入 .profile 中,以将用户注销,除非设置了一些环境变量,然后使用authorized_keys 文件在每个密钥的基础上设置它,但似乎应该有一个更简单的方法方式比那。(除了试图强行访问他们的 sshd_config 文件)

ssh godaddy public-key

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

Chrooted 用户不在他的主目录中启动并且不加载他的 bash_profiles

如果用户登录,他会从 chroot 的 / 开始(在真机上是 /var/jail)。我希望他从他的家庭目录开始。此外,他似乎没有加载任何他的个人资料文件(.bash.rc 等)。我按照本教程创建了 chroot 环境。这是我的 /etc/passwd 的样子:

test:x:1004:1008:,,,:/var/jail/home/test:/bin/bash
Run Code Online (Sandbox Code Playgroud)

这是我的 /var/jail/etc/passwd 文件的样子:

test:x:1004:1008:,,,:/home/test:/bin/bash
Run Code Online (Sandbox Code Playgroud)

我还发现,如果我删除

Match User test
    ChrootDirectory /var/jail
    AllowTCPForwarding no
    X11Forwarding no
Run Code Online (Sandbox Code Playgroud)

从我的 /etc/ssh/sshd_config 中,用户从他正确的主文件夹中开始,并加载了他的 bash 设置。但是,如果我删除该部分,他就可以离开 chroot 环境。我之前问过的这个问题有些相关,因为我认为命令行的错误外观是由未加载的配置文件引起的。那么任何想法如何解决这个问题?

linux ssh bash chroot

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

在所有文件夹上运行 chown 并将所有者设置为文件夹名称减去尾随 / 的脚本

一些麻木跑了chown -R username。在我们的网络服务器上的 /home 文件夹中,认为他在所需的文件夹中。毋庸置疑,服务器正在抛出很多问题。

我们有 200 多个网站,我不想将它们全部单独列出,因此我正在尝试制作一个脚本,将所有文件夹的所有者更改为文件夹名称,不带尾随 /。

到目前为止,这就是我所拥有的一切,一旦我可以删除 / 就可以了,但我还想检查文件是否包含 . 在其中,如果没有,则运行该命令,否则转到下一个。

#!/bin/bash
for f in *

do

    test=$f;
    #manipluate the test variable
    chown -R $test $f

done
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒!

提前致谢!

linux ssh shell bash

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

仅在其中一台服务器 IP 地址上允许 SSH

我有一个带有多个 IP 地址的服务器,用于在每个 IP 地址上托管站点。我有一个没有关联站点的 IP 地址。我想只允许 SSH 登录到没有关联站点的一个 IP 地址。这可能吗?如果是这样,谁能告诉我如何实现这一目标?

linux ssh centos

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

通过 SSH 隧道使用服务器的 IP

首先,我的设置是一台 Ubuntu 笔记本电脑和一台 Ubuntu 服务器。

我的本地笔记本电脑上有一个程序需要访问某个 Web 服务(我们称之为http://someserver.com/someservice123)。现在这个服务有一个防火墙,它只允许从我服务器的 IP 访问。

我可以在笔记本电脑和服务器之间使用某种类型的 SSH 隧道,以便当笔记本电脑上的 python 脚本向http://someserver.com/someservice123发送请求时,该服务会看到来自我服务器 IP 的请求?

我知道它看起来像:

ssh -N -R 80:localhost:80 user@myserver
Run Code Online (Sandbox Code Playgroud)

但我不确定。

linux ssh proxy service tunnel

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

尽管有SSH密钥文件,为什么SVN+SSH提示输入密码?

我配置了密钥,以便我可以像这样登录到 SVN_HOST:

ssh <USER_NAME>@<SVN_HOST>
Run Code Online (Sandbox Code Playgroud)

将在没有密码提示的情况下将我登录到 SVN_HOST。到现在为止还挺好; 然而:

svn update svn+ssh://<USER_NAME>@<SVN_HOST>/<PATH_TO_REPO> <DEST_PATH>
Run Code Online (Sandbox Code Playgroud)

仍然提示:

<USER_NAME>@<SVN_HOST>'s password: 
Run Code Online (Sandbox Code Playgroud)

当我输入密码时,它按我的预期工作;但是,我不明白为什么它坚持在 svn+ssh 情况下提示输入密码。

提前致谢。

编辑:根据要求,详细的 SSH 输出通过:

SVN_SSH="ssh -v " svn update svn+ssh://<USER_NAME>@<SVN_HOST>/<PATH_TO_REPO> <DEST_PATH>
Run Code Online (Sandbox Code Playgroud)

结果是:

OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to <SVN_HOST> [<SVN_HOST>] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1 …
Run Code Online (Sandbox Code Playgroud)

ssh svn ssh-keys

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

sshd 忽略authorized_keys 并继续尝试authorized_keys2

我刚刚将我的公钥上传到服务器,确保权限正确,当我尝试登录时,它只是拒绝它。

在 sshd_config 中启用日志级别调试后,我得到:

Nov 22 06:53:36 host-1 sshd[8612]: debug1: Forked child 8617.
Nov 22 06:53:36 host-1 sshd[8617]: Set /proc/self/oom_score_adj to 0
Nov 22 06:53:36 host-1 sshd[8617]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
Nov 22 06:53:36 host-1 sshd[8617]: debug1: inetd sockets after dupping: 3, 3
Nov 22 06:53:36 host-1 sshd[8617]: Connection from some_ip port 50466
Nov 22 06:53:36 host-1 sshd[8617]: debug1: HPN Disabled: 0, HPN Buffer Size: 87380
Nov 22 06:53:36 host-1 sshd[8617]: …
Run Code Online (Sandbox Code Playgroud)

linux ssh gentoo public-key

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

标签 统计

ssh ×10

linux ×6

bash ×2

proxy ×2

public-key ×2

centos ×1

chroot ×1

duplicity ×1

gateway ×1

gentoo ×1

godaddy ×1

gpg ×1

netcat ×1

service ×1

shell ×1

ssh-keys ×1

svn ×1

tunnel ×1

tunneling ×1