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