跨平台远程登录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yehuohan/article/details/53234640

新博客: yhhe.tech 或者 http://yehuohan.oschina.io/

跨平台远程登录

TeamViewer远程控制

TeamViewer是最好用的图形界面式的远程控制软件之一,支持Linux,Windows和手机端等多个平台。同时,TeamViewer也支持文件远程传输。
安装个人版是免费的,使用简单。

1、使用ID远程控制

这是最简单的方式,直接输入ID即可远程控制和文件传输:
这里写图片描述
也可以在手机端对电脑进行远程控制,同样只要输入ID即可:
这里写图片描述

2、使用TeamViewer帐户管理远程

使用TeamViewer帐户的好处就进可以管理要远程控制的设备,而且用记ID。比如,我们要用手机对一台Window电脑和一Linux电脑时行控制,只要把两台电脑设备添加到我们的TV帐户中即可,然后登录帐户时可以选择远程控制那一台设备,如下图,可以选择两台要控制的设备
这里写图片描述
两种方式都很简单,这里就不再详细说明了。

3、Ubuntu16.04安装TeamViewer

x64的TeamViewer不支持Ubuntu16.04,安装x86(https://www.teamviewer.com/en/help/363-How-do-I-install-TeamViewer-on-my-Linux-distribution.aspx#other)的即可:

sudo dpkg -i teamviewer.deb
sudo apt-get install -f

如果不想要TeamViewer开机自启:

teamviewer daemon disable
# 切换root用户运行    

SSH远程登录

SSH是用终端命令行进行远程登录的,没有图形界面,相对来说,更适合对服务器进行远程登录和控制。
这里以使用手机远程登录到Ubuntu为例,来说明SSH的使用方法。
这里值得注意的是:ssh登录时,需要登录端和被登录端在同一局域网中,或者被登录端设置动态域名解析或端口映射,相当于将自己电脑建成一个可被外网访问的服务器;而TeamViewer就没有什么要求,只要能安装TeamViewer软件即可。

1、手机端设置

这里手机使用安卓为例,首先下载Termux软件,安卓上个人认为最好用的Linux模拟终端,使用Termux可以安装ssh,然后进行远程登录(同样,顺便提下,Termux也可安装ftp来登录ftp服务器)。
当然,ConnectBot也是一个简单易用ssh登录客户端。
除上上面两个软件外,还推荐使用“黑客键盘”软件,方便各种输入,如下图所示:
这里写图片描述
按Fn后还有第层按钮。
下面分别说明两个ssh登录软件。

  • 使用Termux
    首先在手机的应用商店中下载安装Termux,或者直接百度Termux下载。安装完后在Termux运行以下命令:
apt update
    // 同步软件列表,一定要先运行这个命令,不然后安装软件时,会提示找不到

apt install openssh
    // 安装ssh客户端,之后就可以使ssh等命令
    // 顺便说下:可以使用apt install,不就可以安装好多软件,比如python,gcc什么的,可以自己尝试了,Termux有不少软件。
  • 使用ConnectBot
    ConnectBot使用更简单,安装后即可使用,如下图,输入”用户名@ip:端口“即可连接:
    这里写图片描述

2、ubuntu端设置

先安装ssh,然后配置ssh

sudo apt-get install ssh
sudo vim /etc/ssh/sshd_config
ssh基本的配置内容如下:
Port 22
# ssh登录端口设置
PermitRootLogin yes  
# 使用root用户登录
RSAAuthentication yes                                                   
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
# 使用RSA密钥,实现免密登录,公钥存放于~/.ssh/authorized_keys文件

3、 远程登录及远程文件传输

  • ssh用于远程登录
ssh -p port username@ip
# port为SSH端口,username为ubunut的用户名,ip为ubuntu的ip
# 按回车后,输入密码即可 

登录后Termux界面变成了Ubuntu终端的界面,在Termux就可以使用终端对ubuntu进行完全控制,当然,前提有root权限。
这里写图片描述

  • scp用于远程文件传输
    注意,直接在Termux使用scp命令,不是用ssh登录后再使用。
    Termux打开后的默认目录是: /data/data/com.termux/files/home
    这里的home就相当于linux中的 /home 目录。
scp  -P 22 username@ip:~/testfile /sdcard/
# 将ubuntu的 ~/testfile复制到本地的 /sdcard/文件夹下
# scp使用ssh连接,22为端口
scp -r -P 22 username@ip:~/testf /sdcard/
# 将ubuntu的 ~/testf文件夹复制到本地的 /sdcard/文件夹下
scp -P 22 /sdcard/testfile username@ip:~/
scp -r -P 22 /sdcard/testf username@ip:~/
# 复制本地 /sdcard 下的文件或文件夹到ubuntu的 ~/

4、实现免密登录

免密登录输入ssh密码后,不用再输入密码。免密登录需要要创建RSA密钥(公钥和私钥),手机端的私钥和ubuntu的公钥匹配才可以登录,下面通过纯手机端的Termux实现免密登录。
基本步骤如下:
(1)在手机端生成RSA密钥对,即私钥id_rsa和公钥id_rsa.pub
(2)将公钥id_rsa.pub远程传输到ubuntu的 ~/.ssh/下。(因为公钥要远程传输,而私钥只需要放于手机端,不需要远程传输,为了防止私钥泄露,所以在手机端进行密钥创建)
(3)将公钥id_rsa.pub添加到援权密钥authorized_keys中
(4)至此,即可实现免密登录
基本的命令如下(Termux):

ssh-keygen -t rsa
# 连续按3个回车,在 /data/data/com.termux/files/home/.ssh下生成了密钥对
scp /data/data/com.termux/files/home/.ssh/id_rsa.pub username@ip:~/.ssh/
# 复制公钥id_rsa.pub到ubuntu中
ssh -p xx username@ip
# 远程登录到ubuntu中,此进还需要输入密码
cd ~/.ssh
# 没有.ssh文件夹,则自己建立
cat id_rsa.pub >> authorized_keys
# 添加到援权密钥,没有authorized_keys,则自己建立即可
chmod 600 authorized_keys
# authorized_keys权限要为600
rm id_rsa.pub
# 添加援权密钥后,可以删除id_rsa.pub
# 至此,使用ssh登录时,会将手机端的私钥和ubuntu中的援权密钥进行匹配,匹配成功,则可以实现免密登录

猜你喜欢

转载自blog.csdn.net/yehuohan/article/details/53234640