ssh连接局域网内的linux_局域网内 win10 ssh 连接linux服务器连接不上 - CSDN
  • 利用嵌入式linux系统,要求其中的软件能够支持远程升级,个人感觉如果能实现远程操作会更方便一些,于是在网上搜寻方法,当时的想法是希望能够找到一种ssh代理服务,能够实现两台不同局域网内电脑可以通过ssh代理...

      公司新开发的项目,利用嵌入式linux系统,要求其中的软件能够支持远程升级,个人感觉如果能实现远程操作会更方便一些,于是在网上搜寻方法,当时的想法是希望能够找到一种ssh代理服务,能够实现两台不同局域网内电脑可以通过ssh代理服务器建立远程连接,可以保证数据的加密性。


      后来在网上找了很多资料,发现找不到这种代理服务,但是同时也发现了另一种解决办法:ssh端口转发,其实我感觉就类似于ssh代理服务了,而且利用这种方法还可以翻墙!不过这是另一篇文了,没想到ssh这么强大。。。


      下面简述这种连接方式的工作流程,先做一些假设规定:

         1、我目前使用的公司局域网内电脑称作电脑A。

         2、需要连接到的远程嵌入式linux系统称作电脑B,由于用的3G网络,所以IP地址是不固定的。

         3、ssh端口转发服务器,称作电脑S,要有固定的外网IP地址,现在很多云服务器可以选择,而且有很多免费

               的,你也可以申请个域名绑定上,省的记IP地址。。。

         4、我有服务器S的某个用户(称作user)的私钥,称作user_rsa,没有密码的。


       正常情况下,我只要利用S_rsa,在A或者B的终端,输入:ssh -o StrictHostKeyChecking=no -o TCPKeepAlive=yes -o ServerAliveInterval=300 -o ServerAliveCountMax=2 -i S_rsa user@S 就可以与服务器S建立ssh连接,注意上面命令-o选项是为了实现第一次建立连接时避免人工交互,并且会定期发送数据到服务器以保持连接,检测是否掉线,确保可以正常连接后,往下进行。。。


       下面直接给出本流程中需要用到的ssh命令,假设我要用公司电脑A连接远程电脑B,

        那么下面的命令就在B上执行:

         ssh -C -f -N -R listen_port:DST_Host:DST_port user@Remote_Host

        命令参数解释:

         -R  将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口

        -C  压缩数据传输

        -f   后台认证用户/密码,通常和-N连用,不用登录到远程主机

        listen_port:  远程主机S上的某个端口

        DST_Host:  B的IP地址,一般是127.0.0.1

        DST_port:  B 的端口号,一般是22

        user:  服务器S的用户名

        Remote_Host:服务器的IP地址或者域名


    比如我在B电脑上执行:ssh -C -f -N -R 7001:127.0.0.1:22 user@Remote_Host

    就是说,要服务器S监听端口7001,任何发送这个端口的数据都会转发到我的B电脑的22号端口上。


    这样,我只要在A电脑上通过ssh进入服务器S,然后执行:ssh -p 7001 root@localhost 就可以操作B电脑了,要注意命令中root为B电脑的用户名,localhost表明与自己的端口7001建立连接,因为7001已经映射到B电脑的22号端口上,所以就相当于直接用A电脑连接了B电脑。


    结合上述,实际使用中可能是如下的命令:

     B电脑上执行:

    ssh -o StrictHostKeyChecking=no -o TCPKeepAlive=yes -o \
    ServerAliveInterval=300 -o ServerAliveCountMax=2 \
    -i 秘钥文件 -C -f -N -R 7001:127.0.0.1:22 user@Remote_Host

    建立监听。


    A电脑上执行:

    ssh -i 秘钥文件 user@Remote_Host

    连接服务器S。


    然后在S上执行:

    ssh -i 秘钥文件 -p 7001 root@localhost

    连接B电脑。

      


    上面是实际使用时的流程,但是想要时刻能用A电脑连接B电脑,可能还要一些判断B电脑掉线之类的脚本,下面是我自己的脚本,放到电脑B上,开机自动执行(之前没用过shell脚本,乱写的):

     

    #!/bin/sh

    exit=1

    while test $exit -eq 1
    do
            if test $(ps | grep -c 'ssh.*-o StrictHostKeyChecking=no') -eq 1;then
                     /usr/local/bin/ssh -v -o StrictHostKeyChecking=no -o TCPKeepAlive=yes \
    -o ServerAliveInterval=120 -o ServerAliveCountMax=2 \
    -i /etc/init.d/joyo_rsa -C -f -N -R 10001:127.0.0.1:22 joyo@aws.xiezhaoxuan.top
            fi
            sleep 60
    done

      

    实际测试时,有可能服务器正在监听某个端口,然后脚本又运行一次,让服务器监听同样的端口,这种情况下还是会建立ssh连接,但是服务器会返回监听端口失败,这时可以选择性的结束服务器上的ssh进程。


      2017.12.12更新:

       重新修改编译了sshd服务端的源码,实现了可以选择性的允许哪些客户端建立连接,减小的服务器端的压力,详情请见下面连接:http://www.xiezhaoxuan.top/blog/6/


     

    展开全文
  • 朋友有个树莓派,但是不知道怎么用他的电脑(ubuntu系统)去连接他的树莓派,我帮他解决了。写一下方法,作为记录: 首先,我们要做的事情是让树莓派开启ssh服务(树莓派是已经装了raspbian系统的,有自带的ssh服务...

    朋友有个树莓派,但是不知道怎么用他的电脑(ubuntu系统)去连接他的树莓派,我帮他解决了。写一下方法,作为记录:

    首先,我们要做的事情是让树莓派开启ssh服务(树莓派是已经装了raspbian系统的,有自带的ssh服务)在树莓派上打开一个终端, 输入:

    <span style="font-size:18px;">sudo raspi-config</span>

    lesson6_2

    选择 advanced options(高级选项),然后滚动到”ssh”选项

    lesson6_3

    按一下回车然后选择”Enable”

    lesson6_4

    这将会执行一个脚本然后你会看到下面的提示信息:

    lesson6_5

    这样就成功的让树莓派开启了ssh服务。

    然后接下来就要把树莓派接到网络上,从另一台装有linux系统的电脑(与树莓派是在同一个局域网内的)打开浏览器,然后输入 192.168.0.1,如图:


    也就是说要进入你的路由器设置界面,在高级设置里面找到 dhcp客户端列表,然后查看树莓派的 ip。

    再接着就可以打开终端,然后输入 

    ssh pi@你的树莓派的ip

    第一次登录的时候会提醒你说是否要选择继续登录,输入 yes

    然后在输入树莓派的密码,默认密码是 raspberry,然后就可以进入你的树莓派了。

    展开全文
  • 1.建立连接 (1)安装客户端 sudo apt-get install openssh-client sudo apt-get install openssh-server (2)查看目标主机(服务器的IP) ssh username@IP 执行这个命令后如果需要输入密码,要输入的是...

    1.建立连接

    • (1)安装客户端

      sudo apt-get install openssh-client
      sudo apt-get install openssh-server
    • (2)查看目标主机(服务器的IP)

      ssh username@IP

      执行这个命令后如果需要输入密码,要输入的是目标主机的 user 的密码。如果是首次连接,接受 Server 传来的 Key ,输入yes,并建立起联机即可。

      使用 ps,命令查看进程,看看 ssh-agent 是否运行,如果没有,输入下面指令启动 ssh 服务进程.

      sudo service ssh start

      若需杀死进程使用kill + PID命令,关闭ssh使用以下命令,

      sudo service ssh stop

      如果想删除通过 ssh 登录到主机上的一些用户可以使用下面命令,

      pkill -kill -t pts/1


    2.文件传输

    • (1) 远程机器和本地机器互传文件

      从远程机器下载文件到本机:

      scp username@servername:/path/filename /var/www/local_dir

      从本机上传文件到远程机器:

      scp /path/filename username@servername:/path

      从远程机器下载目录到本机:

      scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)

      从本机上传目录到远程机器:

      scp -r local_dir username@servername:remote_dir

    • (2) 目标服务器开启写入权限

      chmod +777 dirname


    3. 常用功能

    • (1)远程执行命令

      在远程主机执行一条命令并显示到本地,

      ssh lx@192.168.1.162 date

    • (2) 挂载远程机器的文件系统

      首先需要安装sshfs工具,

      sudo apt-get install sshfs
      之后使用以下命令即可将远程主机的主文件夹挂载到本地机器Remote文件夹下。

      sshfs -o idmap=user lx@192.168.1.162:/home/lx ~/Remote

    • (3) 使用x11图形界面

      在远程主机运行一个图形界面的程序,

      ssh -X lx@192.168.1.162
      ./AddlabelTool

    • (4) ssh 配置

      ssh的配置文件放在/etc/ssh文件夹中

    • (5) ssh 密钥对

      1) 创建密钥对

      ssh-keygen -t dsa

      2) 检查是否已经添加对应主机的密钥

      ssh-keygen -F 192.168.1.162

      3) 删除某个密钥

      ssh-keygen -R 192.168.1.162


    展开全文
  • SSH是secure shell的缩写,SSH为建立在应用层和传输层基础上的安全协议。一般分为:客户端和服务端。 2.SSH使用: 目的:博主通过SSH使得自己的主机(win10系统)访问到服务器(ubuntu14.04) 2.

    前言:俗话说,贫穷限制了想象力,这话一点都不假。没有显卡,你还玩什么深度学习。这不,博主就为了蹭实验室的服务器不得不自己想办法,搭桥筑梦!

    1.SSH介绍:

    SSH是secure shell的缩写,SSH为建立在应用层和传输层基础上的安全协议。一般分为:客户端和服务端。

    2.SSH使用:

    目的:博主通过SSH使得自己的主机(win10系统)访问到服务器(ubuntu14.04)

    2.1首先确定服务器是否已经安装开通了SSH。(Ubuntu一般是默认安装好的。)

     ps -e |grep ssh        #使用该命令来确定服务器是否已安装开通了SSH服务
    输出结果:


    注:出现sshd说明服务器已开通SSH服务。

    2.2在客户端(win10个人主机)安装PuTTY软件。

    软件下载地址:http://rj.baidu.com/soft/detail/15699.html?ald

    下载后无需安装,双击直接使用,然后按照下图图示顺序操作即可连接远程主机。


    注:会话名称必须要和服务器的用户名一致,否则连接不成功!

    3.连接:

    依次输入登录名(king)&用户密码(服务器密码)

    连接成功!




    展开全文
  • 如上图所示A和B都是局域网的服务器,要通过ssh连接两者,要通过一个公网服务器S做中转。 首先在B上执行 ssh -N -v -R listen_post:B_ip:B_port S_username@S_ip 这个过程会需要输入S_username的密码。 这条指令执行...
  • 实现A电脑(Linux系统)使用ssh登陆内网的其他电脑,如B电脑。 查询B电脑的内网IP 在终端(Terminal)中,输入ifconfig后回车,可查看到IP地址为:192.168.2.194 $ ifconfig lo0: flags=8049,LOOPBACK,RUNNING,...
  • 为方便叙述,将外网PC(win7系统)简称为主机W,将PC(Linux系统)简称为主机L。 两个主机的基本网络环境描述如下。 a. 主机L是家庭PC,通过路由器接入到网络运营商的网关,进而连接互联网。路由器无固定外网IP,...
  • 准备要有个外网可以访问的主机支持端口转发,比如一个独立IP的VPS (如 123.123.123.123) 局域网和 123.123.123.123,以 Ubuntu 为例步骤 在 123.123.123.123 上编辑 vi /etc/ssh/sshd_config 增加或...在局域网内机器
  • 局域网内机器ssh失效

    2019-07-23 09:52:10
    在目标机器上,ssh localhost可以,但其他机器无法访问目标机器,目标机器也无法ssh到其他机器,并且22端口也在监听。 一种可能性是局域网内IP冲突。目标机器的IP被占用了。 转载于:...
  • 但是遇到一个问题,我在外的时候,怎么远程连接家里的在局域网中的主机呢? 我已经成功的解决了这个问题,期间也遇到了各种坑,我在这里也会详细的说一下这些坑。如果您还有任何其他问题,可以在下面评论留言给我。...
  • 首先,在一个局域网内的一台机器上装了虚拟机,虚拟机上装了centos系统; 但是,只有本机能连接centos,其他电脑都连不上; ping了一下发现不通,然后排查原因。 我发现局域网内的机器IP都是:192.168.1.*,而...
  • 刚好手头有一台旧电脑由于硬件老化,所以安装上了Ubuntu...另外一种方法可以在局域网使用SSH连接及控制,成功之后的操作就跟远程操作云服务供应商(比如阿里云,腾讯云,GoDaddy等)提供的云服务器或者云虚拟主机...
  • 显示器并不是树莓派的标准配置,不使用显示器依旧可以对树莓派进行操作,只要树莓派与你的笔记本电脑在同一局域网下(即连接在同一个路由器中),通过SSH服务,即可完成相关配置,实现通过个人笔记本电脑对树莓派...
  • 情况是这样的,笔者有两台电脑,windows10笔记本(主机A)和windows10台式机(主机B)且在同一局域网下。同时有Ubuntu系统(主机C)运行在主机B的VMware虚拟机上。现在想在主机A上通过ssh访问主机C。 当前网络配置:...
  • 局域网内: 1. Windows->Windows(mstsc)  1) 打开被连接windows远程连接。 我的电脑->属性>远程->允许远程计算机连接。  2) win+R输入mstsc(就是开始 附件 远程桌面连接),打开远程桌面连接,输入ip...
  • 今天有时间,想把家里旧笔记本里安装的ubuntu开启SSH服务,然后通过mac远程登录ubuntu,以便于学习linux。 1.首先需要在ubuntu上安装SSH服务器端软件。 可以使用openSSH软件,其包含SSH客户端软件->openssh-client...
  • 内网主机上安装了Linux系统,只能在局域网内访问到,怎样从外网也能访问到内网的Linux系统呢?本文将介绍具体的实现步骤。 1. 准备工作 1.1 启动Linux系统 默认Linux系统ssh端口是22。 2. 实现步骤 2.1 下载并解压...
  • 利用ssh传输文件 在linux下一般用scp这个命令来通过ssh传输文件。而如果你的工作环境是windows的话,那么可以选择用 secure CRT,或者putty 这样的ssh登录工具来进行传输. 对于linux环境: 一、...
  • 因为家里有两台电脑,一个centos7 系统,一个Mac,都是笔记本,感觉两个拿来拿去的用太麻烦了,所以就想用ssh连接cenots7 的电脑,这样就没那么麻烦了。欢迎大家指正 配置静态ip centos7 配置 进入network-scripts...
1 2 3 4 5 ... 20
收藏数 13,377
精华内容 5,350
关键字:

ssh连接局域网内的linux