Questions tagged «ssh»

SSH(安全外壳)是用于在远程计算机上安全运行命令的协议。使用此标记可解决有关配置,使用SSH客户端和服务器软件以及对其进行故障排除的问题。

1
git-upload-pack无限期挂起
我有以下通话结构: 詹金斯奔跑fab -Huser@host set_repository_commit_hash:123abc。 set_repository_commit_hashgit fetch与运行pty = False。 子进程ssh git@github.com git-upload-pack 'user/repository.git'永远不会完成。 我尝试git fetch在本地克隆中运行,但成功了,但是运行ssh git@github.com git-upload-pack 'user/repository.git'只会返回以下内容并挂起: 00ab84249d3bb20930c185c08848c60b71f7b28990d6 HEADmulti_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed agent=git/1.8.4 0041cb34b1c8ca75d478df38c794fc15c5f01cc6377e refs/heads/branch_name 004012577068adf47015001bfa0cff9386d6cdf497ce refs/heads/[...] 003f84249d3bb20930c185c08848c60b71f7b28990d6 refs/heads/master [a couple more lines like the ones above, then:] 0000 这是已知的SSH / Git / Fabric / …
30 ssh  git  jenkins 

1
SSH导致while循环停止
我终于设法解决了我几个星期一直在努力的问题。我使用带有“授权密钥”的SSH来远程运行命令。一切都很好,除非我在while循环中这样做。使用ssh命令完成任何迭代后,循环终止。 很长时间以来,我认为这是某种ksh怪异的现象,但现在我发现bash的确具有相同的表现。 一个小示例程序来重现该问题。这是从一个较大的实现中提取的,该实现拍摄快照并在群集中的节点之间复制快照。 #!/bin/bash set -x IDTAG=".*zone" MARKER="mark-$(date +%Y.%m.%d.%H.%M.%S)" REMOTE_HOST=sol10-target ZFSPARENT=rpool ssh $REMOTE_HOST zfs list -t filesystem -rHo name,mounted $ZFSPARENT | grep "/$IDTAG " > /tmp/actionlist #for RMT_FILESYSTEM in $(cat /tmp/actionlist) cat /tmp/actionlist | while read RMT_FILESYSTEM ISMOUNTED do echo ${RMT_FILESYSTEM}@${MARKER} [ "$ISMOUNTED" = "yes" ] && ssh $REMOTE_HOST zfs …

4
引用ssh $ host $ FOO和ssh $ host“ sudo su user -c $ FOO”类型的构造
我经常最终会通过ssh发出复杂的命令。这些命令涉及管道到awk或perl单行,因此包含单引号和$。我既没有想出正确的报价规则,也没有找到好的参考。例如,考虑以下内容: # what I'd run locally: CMD='pgrep -fl java | grep -i datanode | awk '{print $1}' # this works with ssh $host "$CMD": CMD='pgrep -fl java | grep -i datanode | awk '"'"'{print $1}'"'" (请注意awk语句中的多余引号。) 但是我该如何使用它ssh $host "sudo su user -c '$CMD'"呢?在这种情况下是否有管理报价的一般方法?
30 bash  shell  ssh  quoting 

6
通过SSH转发的X客户端“无法打开显示:localhost:11.0”
我已在运行SSH服务器的远程计算机上启用了X转发: # grep -i forward /etc/ssh/sshd_config X11Forwarding yes # 在本地计算机上,我已启动带有-X标志的SSH客户端,该标志指示在远程计算机上运行的SSH服务器设置X服务器代理。此外,它创建$DISPLAY指向该代理的变量,并调用xauth来安装代理密钥,该密钥对远程计算机上的此X服务器代理进行身份验证: # echo "$DISPLAY" localhost:11.0 # xauth list | grep 11 A58/unix:11 MIT-MAGIC-COOKIE-1 39324086672d1ae35e373476c3891a77 # 但是,远程计算机上的X客户端无法正常启动: # wireshark (wireshark:10083): Gtk-WARNING **: cannot open display: localhost:11.0 # xterm Warning: This program is an suid-root program or is being run by the root …
30 ssh  x11  sshd 

5
关闭外壳时,`scp`传输是否关闭?
我已经scp转移(从一台远程服务器到另一台),这是很大的。 因此,也许我想关闭执行该命令的计算机,这将结束传输吗?我可以ssh使用Bitwise程序访问外壳。
29 ssh  scp 

3
从ssh会话运行的程序是否取决于连接?
从ssh会话运行的程序是否取决于与客户端的连接?例如,当连接确实很慢时。因此,它是否主动等待直到在屏幕上打印出东西? 并且,如果它确实取决于连接,它是否还会在屏幕或byobu上发生?由于有了这些,即使从主机断开连接,程序仍保持运行。 注意:我仅发现以下相关问题: 暂时断开ssh会话会影响正在运行的程序吗? 连接断开后,通过ssh进行的屏幕会话会怎样?
29 ssh  tty  job-control 

2
为什么更改通过“ ssh -t”传输的二进制文件?
我正在尝试通过SSH复制文件,但是scp由于不知道我需要的确切文件名而无法使用。尽管小型二进制文件和文本文件可以很好地传输,但是大型二进制文件会被更改。这是服务器上的文件: remote$ ls -la -rw-rw-r-- 1 user user 244970907 Aug 24 11:11 foo.gz remote$ md5sum foo.gz 9b5a44dad9d129bab52cbc6d806e7fda foo.gz 这是我将其移至文件之后的文件: local$ time ssh me@server.com -t 'cat /path/to/foo.gz' > latest.gz real 1m52.098s user 0m2.608s sys 0m4.370s local$ md5sum latest.gz 76fae9d6a4711bad1560092b539d034b latest.gz local$ ls -la -rw-rw-r-- 1 dotancohen dotancohen 245849912 Aug 24 18:26 …
29 ssh  file-copy 

4
如何通过SSH播放HTTP音乐流?
我知道我可以做mplayer <stream>,以打开并播放本地计算机上的流。但是,我在防火墙后面。 取而代之的是,我想在远程计算机上打开流,但仍在此计算机上播放它。远程连接是SSH的目的,但同时打开和播放远程流。ssh "mplayer <stream>" SSH的-x标志启用X11显示转发。我需要那个吗?
29 ssh  http  mplayer  streaming  music 

10
用于登录SSH服务器的Shell脚本
我尝试编写一个shell脚本,该脚本可以使用脚本中提到的密码自动登录ssh服务器。我写了以下代码: set timeout 30 /usr/bin/ssh -p 8484 root@172.31.72.103 expect { "root@172.31.72.103's password" { send "password\r" } } 此代码无法正常运行,但仍在要求输入密码。有人可以帮我解决这个问题吗
29 ssh  password  expect 


4
如何使用QEMU从主机到访客进行SSH?
如何使用qemu从主机到访客设置ssh?引导虚拟机时,无需任何特殊参数即可使用端口重定向,如下所示: /usr/bin/qemu-system-x86_64 -hda ubuntu1204 -m 512 -redir tcp:7777::8001 但是当我尝试使用以下方法引导时: /usr/bin/qemu-system-x86_64 \ -m 1024 \ -name vserialtest \ -hda ubuntu1204 \ -chardev socket,host=localhost,port=7777,server,nowait,id=port1-char \ -device virtio-serial \ -device virtserialport,id=port1,chardev=port1-char,name=org.fedoraproject.port.0 \ -net user,hostfwd=tcp:7777::8001 我收到以下错误,并且VM无法启动: qemu-system-x86_64: -net user,hostfwd=tcp:7777::8001: invalid host forwarding rule 'tcp:7777::8001' qemu-system-x86_64: -net user,hostfwd=tcp:7777::8001: Device 'user' could not be initialized 请注意,我可以不-net带任何参数地引导VM …
29 networking  ssh  qemu 

2
将OpenSSH私钥转换为SSH2私钥
有没有一种方法可以将现有的一对OpenSSH密钥转换为SSH2(ssh.com格式)密钥对? UPD:由于有一些有关ssh-keygen突然出现的答案,所以我将解释我的来历(这对于“您尝试了什么?”也将是一个很好的答案)。 $> diff --report-identical-files <(ssh-keygen -e -f ~/.ssh/id_dsa) <(ssh-keygen -e -f ~/.ssh/id_dsa.pub) Files /tmp/zshAGGWAK and /tmp/zshPZiIr6 are identical 换句话说,ssh-keygen对于私有和公共输入密钥,返回相同的密钥(原始文件的哈希明显不同,我已经对其进行了两次检查,以确保它们是有效的私有和公共密钥)。似乎ssh-keygen只为私有或公共输入密钥生成了公共密钥。 我做错了还是正常现象?

6
如何成功运行ssh命令?
有时我会重启设备,并且需要ssh在准备就绪时重新启动。 我想每5秒运行ssh命令,直到命令成功。 我的第一次尝试: watch -n5 ssh me@device.local && exit 1 我怎样才能做到这一点?
28 ssh  scripting  watch 

2
如何在第一次使用ssh登录时强制用户更改密码?
我试图强迫新创建的用户在第一次使用ssh登录时更改密码。为了安全起见,我想给他一个安全的密码,直到他第一次登录。到目前为止,我做了以下工作: useradd -s /bin/bash -m -d /home/foo foo passwd foo 这样做chage -d 0 foo只会给我Your account has expired; please contact your system administratorssh登录错误。
28 linux  bash  ssh  login  pam 

1
默认情况下,为特定主机使用其他用户名
我在定期登录的其中一台服务器上有一个不同的(已分配,不可更改)用户名,我希望避免每次都将其写下来。我可以做这些线吗 [tohecz@localhost ~]$ ssh myserver.cz [tohecz@localhost ~]$ ssh anotherserver.cz 表现如下? [tohecz@localhost ~]$ ssh tohecz@myserver.cz [tohecz@localhost ~]$ ssh anotheruser@anotherserver.cz
28 ssh  users 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.