ssh

需求1: 在一个局域网中,设备A(如手机)访问一台电脑B中的文件

>>> python SimpleHTTPServer 8000  # python2

或者

>>> pyhon3 http.server 8000  # python3

获取电脑B的局域网ip

>>> ifconfig
...
假设ip为192.168.1.104
...

之后可以在设备A的浏览器中进行访问

# 在浏览器中
192.168.1.104:8000

 

需求2: 在同一个局域网中,从电脑A(系统windows 10)访问电脑B(系统linux)

利用python开启一个服务器这种方式,只能访问指定的文件夹.因此,这种方式不可取.有一种更好的方式--远程登录ssh

(1)安装ssh

# 在Ubuntu16.04中
>>> sudo apt-get install openssh-server  # 安装ssh
>>> ssh -Version  # 查看是否安装成功
OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g  1 Mar 2016

(2)开启ssh服务

>>> sudo /etc/init.d/ssh start 

(3)windows下载安装putty

putty下载地址: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

(4)ssh配置

>>> sudo /etc/ssh/sshd_config  # 打开ssh服务配置文件

修改配置

# 配置文件中`#`表示注释,也是默认配置
PasswordAuthtication yes #  修改no为yes, 表示允许用密码方式登录

(5)登录

(图片引用自https://www.cnblogs.com/liuhaitao/p/6339926.html)

 

需求3: 如何不采用密码进行远程登录

(1)生成公私钥匙对

可以在linux系统(相当于服务器)上生成, 也可以在windows上生成

>>> ssh-kengen  # 在ubuntu上生成 

(2)将公钥放入authorized_keys中

>>> cat /home/c/.ssh/chim.pub >> authorized_keys

远程用户登录时会搜索authorized_keys这个文件中的公钥字符串,而用户用私钥进行登录,因此将私钥拷贝或者下载至windows系统中

(3)putty私钥处理及登录

putty支持私钥的格式为.ppk,需要将文件转换为.ppk格式

引用博客: https://www.cnblogs.com/liuhaitao/p/6339926.htm

 

需求四:利用电脑A从外网中远程访问某一局域网中的电脑B

如果电脑B的ip为一个外网的ip,就直接访问.如果是局域网中的ip,从外网访问到外网可行,但如何找到目标主机?

引用博客:利用nat123  https://blog.csdn.net/lczdk/article/details/78456894

在用主机名作为主机标识时,可能会出现`端口不通过`问题,需要在访问主机中绑定ip和主机名

如在windows系统中

>>> c://Windows/System32/drivers/etc    # 打开hosts文件

添加

# [目标主机局域网地址] [主机名] 
192.168.1.104 chimpanzee

 

posted @ 2018-08-28 15:51  静静地挖坑  阅读(189)  评论(0)    收藏  举报