windows端通过SSH远程登录Ubuntu:
先下载putty软件。然后打开putty.exe,如下:
在Ubuntu系统中查看本机ip:
下载net-tools:sudo apt-get install net-tools
终端输入命令:ifconfig
如:
红线部分就是主机IP地址。
Ubuntu系统也要先安装openSSH服务:sudo apt-get install openssh-server
然后将红线部分填入主机IP地址,连接方式选SSH。
可以看到我们此时已经用账户zgcr远程登录上了Ubuntu。注意root账户没法远程登录。
上面这种方式适用于登录用的机器和linux所在机器在同一内网中的情况。
我们也可以使用TeamViewer或VNC远程图形化控制系统。
Teamviewer是一个跨平台的远程操控软件。它可以通过外网, 将你的被控制电脑桌面投影到你的控制电脑上。不过流畅度取决于你的网速.。
如果你想小规模的控制局域网内(电脑都在同一个路由下)的电脑。那么VNC是更好的选择,因为它不走外网。我觉得还是 VNC 快一点, 因为它不走外网。
使用VNC远程图形化登录Ubuntu:
首先应当设置我们的Ubuntu允许被远程连接。
如图所示,并设置一个密码。不要勾选密码上面一项,否则每次访问都要确认。
然后我们要安装vncserver(vnc服务)和dconf-editor(取消权限限制):
sudo apt-get install xrdp vnc4server xbase-clients
sudo apt-get install dconf-editor
如:
安装完成之后,我们需要打开dconf-editor工具(搜索栏里搜索dconf),进行如下设置,勾选对应的项。
然后我们在Ubuntu的terminal中用ifconfig命令得到Ubuntu系统的ip地址。
在windows系统中先安装VNC viewer客户端。打开客户端,在下图所示位置输入我们要远程控制的主机的ip地址:
可以看到出现了一个错误提示。怎么解决呢?
在Ubuntu的terminal中执行下列命名后再重新连接:
echo $DISPLAY
export DISPLAY=:0
dbus-launch --exit-with-session gsettings set org.gnome.Vino enabled true
dbus-launch --exit-with-session gsettings set org.gnome.Vino prompt-enabled false
dbus-launch --exit-with-session gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server
重新连接试一下,成功。
注意上面的命令可能每次重启远程的Ubuntu主机时都要输入一遍后才可以连接。
我们也可以通过Windows自带的远程桌面控制(mstsc)进行访问。这样就可以不用VNC Viewer。
首先我们也要先确保远程的Ubuntu系统中安装了以下软件,如果没有,执行下面的命令:
sudo apt-get install xrdp vnc4server
直接打开自带远程桌面控制,输入目标PC的IP地址。
选择模式【vnc-any】,然后输入IP地址和密码进行登录(其中端口号默认为5900)。
登录成功。
远程登录Ubuntu系统中使用root账户出现Permission denied, please try again.:
我们发现非root用户可以用SSH正常登录,而且root用户通过本地登录也正常。
出现这个问题的原因是Ubuntu服务端SSH服务配置了禁止root用户登录策略。
解决方法:
nano /etc/ssh/sshd_config
修改其中的 PermitRootLogin这一行为:
PermitRootLogin yes
并把注释符号#去掉。
然后重启SSH服务:
service sshd restart
再次尝试SSH登录root账户,成功。
windows系统cmd.exe中使用SSH命令远程登录Ubuntu传送并运行文件:
我们也可以在windows系统中的cmd.exe中使用SSH远程登录Ubuntu。想要在windows中的cmd中使用ssh命令,windows也要安装openssh。
到https://github.com/PowerShell/Win32-OpenSSH/releases/下载OpenSSH For Windows工具。
将openSSH-win64放到C盘根目录下,然后在系统变量PATH中添加该文件夹的路径。
然后就可以直接在cmd中使用ssh/ls/mv/scp等命令了。
我们可以在cmd中使用ssh命令远程登录Ubuntu系统:
ssh [email protected]
zgcr是Ubuntu的用户名。192.168.123.101是Ubuntu在内网的ip地址。
如图所示,登录成功。
我们也可以在cmd中使用scp命令来讲windows系统中的文件传送到Ubuntu系统中。
如,我们在桌面上新建了1.py文件,然后在windows桌面按shift+鼠标右键可以打开cmd窗口:
输入命令:
scp 1.py [email protected]:~/Desktop/
运行截图如下:
可以看到1.py已经在Ubuntu系统中了。
我们现在想要从windows系统远程运行这个1.py文件。
在cmd中输入:
ssh [email protected] "python3 ~/Desktop/1.py"
运行截图如下:
如果你运行的.py文件中有打开视窗的操作,如打开火狐浏览器,则命令为:
ssh [email protected] "export DISPLAY=:0; firefox"
运行截图如下:
多电脑共享云端文件:
首先我们在Ubuntu系统中建立一个share文件夹。
然后设置文件夹属性为share,共勾选下图示意项。
然后我们打开terminal窗口。设置所有别的用户远程共享文件的密码。
输入命令:
sudo smbpasswd -a 用户名
如果出现command not found命令,多半是因为linux自动安装的samba没安装全,使用下面命令:
sudo apt-get install samba
sudo apt-get install smbclient
然后再试一次。成功。
、
然后windows系统中打开网络,找到你的ubuntu主机,双击进入,提示你输入上面设置的用户名和密码:
可以看到里面有一个1.py文件,这个文件我们之前在Ubuntu系统中放到了share文件夹中。你可以在windows系统中向share文件夹复制、创建或修改文件。