Articles of ssh

tsocks不隧道到ssh

我的networking是这样设置的 S1 – >开关< – S2 – >互联网 S2正在运行一个SSH服务,我想通过隧道所有的stream量。 我在S1上安装了tsocks ,并像这样设置了tsocks.config文件: server = 127.0.0.1 server_port = 1234 server_type = 5 然后在S1上我运行这个命令: ssh -D 1234 S2 然后在S1,在一个新的terminal窗口,我跑了 tsocks wget google.com 并得到“无法parsing主机地址”错误。 如果有人能帮我,我真的很感激! (PS我在两台机器上运行CentOS)

Bash脚本:保持一行本地文件与远程文件同步

我search了高低,但似乎无法find解决这个问题(也许它不存在?)。 这是我的问题: 我的本地机器上有一个名为myFile.txt的文件。 在远程计算机上有一个相同名称的文件(myFile.txt)。 两个文件结构都是这样的: <tag1>November 22, 2012<tag1> <tag2>version5.8<tag2> <tag3>ASDFA23RASDF29ASDJ29DJ2<tag3> 两个文件都有完全相同的布局。 我需要编写一个脚本,使两个文件(本地和远程)的<tag3>之间的string保持同步。 我需要从远程服务器上的<tag3>获取string,并将其与本地计算机上的相同string进行比较。 如果有区别,我需要改变我的本地string,以反映远程的。 到目前为止,我已经尝试过了:我使用awk抓取了本地string,并将其分配给一个variables。 很简单。 我ssh'ed到远程服务器,并试图使用相同的方法来分配远程string到一个variables。 据我所知,这似乎是工作。 问题是variables不会返回到我的本地机器的值(如果这是有道理的)。 这是我试图做到这一点: #!/bin/bash fileName="myFile.txt" logon="myUserName@remoteServer.com" localString=$(awk -F "<tag3>" '{print $2}' $fileName) x=$(ssh $logon "remoteString=$(awk -F "<tag3>" '{print $2}' $fileName); echo $remoteString") echo "remote string = $x" if [ $localString == $x ]; then echo "The 2 auth […]

哪里存储公钥在Ubuntu的SSH?

我有一个git控制版本下的nodejs应用程序和一个pipe理这个git帐户? sudo adduser \ –system \ –shell /bin/bash \ –gecos 'User managing of git version control' \ –group \ –disabled-password \ –home /home/git \ git 我应该在哪里存储authorized_keys文件 /home/git/authorized_keys 要么 /home/user/authorized_keys 用户是我的服务器上的普通用户

理解ssh2_exec()中的PTY参数

下面的答案不能令我满意,我想更多地了解发生了什么事情。 任何人都可以在ssh2_exec()函数调用中解释$ pty参数 它是否强制客户端告诉服务器产生一个PTY或是完全客户端的PTY? 据我所知,它连接到一个进程,如SSHd,例如,这将需要调用服务器。 另外,如果设置为true ,它是否会模拟默认的shell? 它是什么? 我知道你可以通过xterm例如模拟一个PTY,这是不是有什么不同? 仿真意味着从我的angular度来看这不是一个真正的PTY。 这可能有点混淆阅读,但我想抓住这个概念。 谢谢。 我很感激。

在linux shell中访问奇怪的目录

我已经find了一个目录,而连接到一个Linux的SSH壳,我的名字是? (我认为这是因为用于名称的转义字符)。 当我使用命令ls -b我得到3个结果, \t\t\t\ A_File.txt A_Directory但是用简单的ls,我得到的只是A_File.txt A_Directory 在进一步的研究中,我发现字符逃逸是八进制转义字符 ,当我键入cd [tab][tab][tab] ([tab] =按tab)我得到一个新的文件列表, ^I^I^I / A_Directory 在这种情况下你将如何查看转义字符目录?

在本地机器上通过ssh创build和更新存档

我试图find一种方法来创build和更新远程系统上的文件的tar档案,我们没有写权限(远程文件系统是只读的)通过SSH。 我发现创build一个档案的方法是, ssh user@remoteServer "tar cvpjf – /" > backup.tgz 不过,我想知道是否有某种方式从这一点上只执行增量备份(只有实际上已更改的文件?)。 任何帮助,这是非常感谢。

SSH:如何为每个用户分配特定的目录?

不,它不是重复的,因为我想通过SSHlogin时将一个目录分配给一个(或多个)用户。 例如,根据用户的logging: userFoo =>我希望他在SSHlogin后到达/somewhere/here/ userBar =>我希望他在SSHlogin后到达/somewhere/here/ userOof =>我希望他在SSHlogin后到达/anywhere/ 等等。 我怎样才能做到这一点 ? (他们与PuTTY连接,我不能强迫他们连接额外的数据,如ssh -t user@server 'cd /home/some/dir ; exec "$SHELL"'

有些命令不通过SSH(远程服务器上的shell)

我必须在远程服务器上运行一些用户定义的命令。 所以我做了以下。 它适用于许多命令,如crontab -l , ls , date +%s等…但是,它不适用于ip addr 当我实际上ssh INSIDE那些服务器ip addr工作正常。 但是,当我使用SSH执行它没有。 这是我如何执行它。 $ sshpass -p myPassword ssh -q root@127.0.0.1 'ip addr' > $PWD/tmp $ cat $PWD/tmp 再说一遍,除了ip addr以外,这个命令对我所尝试的任何命令都有效。 对于ip addr它提供了以下输出 bash: ip: command not found 所以我想知道为什么,如果有什么问题,我正在做…. 此外,请不要build议使用rsync或任何其他非默认的Linux命令,因为我工作的环境没有它们,也没有我的安装权限。 先谢谢你

不能从java执行rsync

Process p; String cmd = "rsync –timeout=20 -v -r -E -e \"ssh -o StrictHostKeyChecking=no -i " + "/usr/local/my.pem\"" + " root@<IP>:/usr/local/test/ /other/test"; try { p = Runtime.getRuntime().exec(cmd); System.out.println("going to exec1"); int val = p.waitFor(); } 当我尝试上面的代码, rsync不起作用, val = 1 。 而如果我尝试直接在ternimal cmd值,它工作正常。 代码有什么问题? 编辑 String[] cmd = new String[]{"rsync", "–timeout=20", "-v", "-r", "-a", "-E", […]

scp输出为日志文件

我对使用scp相对比较陌生 – 我正在尝试通过ec2做一些简单的工作 – 例如: scp -i ec2key.pem username@ec2ip:/path/to/file ~/path/to/dest/folder/file 我想要的是上述命令的日志(即屏幕输出到一个文本文件) – 有办法实现这一点? 谢谢。