Articles of ssh

通过公共互联网连接到覆盆子pi

我有一个树莓派,我有一个程序,只有当我需要从应用程序运行。 所以,基本上需要从公共互联网连接到我的树莓派。 不知道这一点,我认为我需要从公共互联网上做我的树莓派ssh,即直接通过一些IP地址连接。 我怎样才能做到这一点? 我试图通过简单的SSH连接到我的Linux系统,而不工作。 任何指南和指针去? 谢谢

等待并行远程进程完成bash ssh

我试图在后台运行几个Linux机器上的脚本。 我的bash脚本如下所示: for i in {1..1000}; do for j in {1..20}; do ssh -n -f remotehost$j "sh -c 'cd /blah/; nohup ./script.sh $i > /dev/null 2>&1 &'" NPROC=$(($NPROC+1)) if [ "$NPROC" -ge 40 ]; then echo "Waiting for work to finish" wait NPROC=0 fi done done 这是我试图限制服务器的负载,并且在任何给定时间只有40个进程运行超过20个主机。 这虽然不起作用,所有进程同时启动。 可以请您指导我如何等待远程后台进程完成或防止在给定的远程主机上启动超过n个进程。

在后台运行python代码

我需要运行一个需要几个小时的python代码,并且在一段非活动时间之后,我的计算机与ssh断开连接。 我已经尝试过python test.py> output.txt&但我的输出文件是空的。 但是,我注销并重新login到ssh后,python代码“test”仍在运行。 我也尝试过python -u test.py> output.txt,它会写入output.txt文件,但是在ssh连接丢失后它不会继续。 我对Linux很新,所以我不知道很多命令。 我需要最简单/最容易理解的方法。 谢谢!

如何连接到多个服务器来运行相同的查询?

我有4个服务器,我们有相同模式的日志文件。 对于每一个serch / query,我都需要逐一login到所有服务器并执行命令。 是否有可能提供一些命令,以便它将自动login到所有这些服务器,并将从每个服务器获取输出? 什么configuration,设置等我必须做的使其工作。 我是Linux Domain的新手。

当“ssh localhost”命令执行时究竟发生了什么事情

今天,在阅读描述如何安装Hadoop的文章时,作者使用:ssh localhost 这个命令是什么意思? 以下是这篇文章的位置? http://codesfusion.blogspot.com/2013/10/setup-hadoop-2x-220-on-ubuntu.html?m=1

CoreOS Vagrant虚拟框SSH密码

我正在尝试使用Putty进入CoreOS Virtual Box 。 我知道用户名出现在输出,当我做了stream感,但我不知道密码是什么。 我也尝试用Vagrantfile中的config.ssh.password设置覆盖它,但是当我再次vagrant up ,会出现身份validation失败警告并且无限次重试。 我们如何使用Puttylogin到Box实例?

Cloudera安装无法在CentOS上检测到root权限

我试图将新主机添加到CentOS集群中。 安装失败,并提示“安装失败,无法检测到root权限”。 我知道Cloudera需要用户拥有无密码的权限(“需要root用户访问您的主机才能安装Cloudera软件包,该安装程序将通过SSH连接到您的主机,并以root用户身份或另一个无密码sudo用户身份login/ pbrun权限成为根“)。 我怎样才能做到这一点? 我试图编辑/ etc / sudoers文件。 编辑:在sudoers文件中,我添加了行: cdh ALL =(ALL):ALL #cdh是我的用户名 就在'root'权限被定义的地方。 但在安装上没有更多的成功。 在Details窗口中,它说: Detecting root privileges… effective UID is 502 BEGIN which pbrun END (1) BEGIN sudo -S id [sudo] password for cdh: Sorry, try again. [sudo] password for cdh: Sorry, try again. [sudo] password for cdh: Sorry, try again. sudo: […]

无法访问木偶学习虚拟机

我在VirtualBox上build立了木偶学习VM。 我可以ssh进入它: ssh root@127.0.0.1 -p 2222 但是,该指南说,要做facter ipaddress ,并ssh到输出的ipaddress。 我得到10.0.2.15 。 如果我尝试ipaddress,它不起作用。 我想让它工作。 此外,我应该能够访问从https://10.0.2.15木偶gui,我不能这样做。 我认为这两个问题是相关的。 我有3个适配器设置。 1. NAT,2.仅主机适配器,3.桥接networking。 对于#1,我有端口转发设置(我不能没有它ssh)。 eth0 Link encap:Ethernet HWaddr 08:00:27:44:00:48 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe44:48/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:15892 errors:0 dropped:0 overruns:0 frame:0 TX packets:24276 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1232127 (1.1 […]

我怎样才能安全地通过SSH返回一个bash数组?

在bash shell中,可以用declare -p轻松地引用数组,然后在稍后eval它们以使其恢复正常。 这似乎可以接受通过SSH传递数组(作为脚本的一部分)到远程计算机。 问题是,穿越电线,我不希望有相同的信任水平。 如果远程机器受到威胁,感染可能通过未经协商的eval语句传播到本地机器。 目前,为了在机器之间传递数组,我使用了如下的方法: #!/bin/bash # Define the modules we expect to find installed on the remote machine expected_modules=(foo-module bar 'baz 2.0') # SSH into the remote machine, send the arrays back and forth with "declare -p" unparsed_missing_modules=$(ssh remote-machine /bin/bash << EOF check_for_module() { # Placeholder so that this can be tested […]

在SSHconfiguration中使用Bashvariables

在shell初始化中,我在.bash_profile设置了服务器的主机名。 我怎样才能使用该variables作为我的SSH config文件的一部分,如下所示: .bash_profile … MY_SERVER='xxx.xxx.xxx.xxx' … ~/.ssh/config Host my-host User uname HostName <MY_SERVER var here> IdentityFile ~/.ssh/my-pem.pem 我已经尝试了两个 HostName $MY_SERVER 和 HostName ${MY_SERVER} 但都导致错误: ssh: Could not resolve hostname $MY_SERVER: nodename nor servname provided, or not known 有没有办法做到这一点,而无需在shell初始化上运行脚本来将主机名注入configuration文件?