Ubuntu SSH连接、远程上传下载文件

简介: Ubuntu SSH连接、远程上传下载文件

Ubuntu SSH连接、远程上传下载文件



目录

SSH 概念

安装 SSH(Secure Shell) 服务以提供远程管理服务

将文件/文件夹从远程 Ubuntu 机拷至本地(scp)

将文件/文件夹从本地拷至远程 Ubuntu 机(scp)

将文件/文件夹从远程 Ubuntu 机拷至本地(rsync)

将文件/文件夹从本地拷至远程 Ubuntu 机(rsync)

如何限制通过SSH远程连接的用户帐号

SSH 命令

SSH 概念

SSH是指Secure Shell,SSH协议族由IETF(Internet Engineering Task Force)的Network Working Group制定,SSH协议的内容SSH协议是建立在应用层和传输层基础上的安全协议。


传统的网络服务程序,如FTP、Pop和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。


SSH(Secure Shell)是目前比较可靠的为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。


SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的”通道”。


安装 SSH(Secure Shell) 服务以提供远程管理服务


sudo apt-get install ssh

SSH 远程登入Ubuntu 机


ssh username@192.168.0.1

将文件/文件夹从远程 Ubuntu 机拷至本地(scp)


scp -r username@192.168.0.1:/home/username/remotefile.txt .

注意:要在本地终端输入上述命令(或者):


scp -r username@192.168.3.192:绝对路径/文件名 本地的路径

将文件/文件夹从本地拷至远程 Ubuntu 机(scp)


scp -r localfile.txt username@192.168.0.1:/home/username/

在本地的终端下,而不是在服务器上。在本地的终端上才能将本地的文件拷入服务器。


scp -r 从本地要上传的完整路径到文件名 username@192.168.0.1:/home/username/

其中:


scp是命令,-r是参数 (要传文件的话,加上-r)

username是服务器账号

192.168.0.1是要上传的服务器ip地址

/home/username/是要拷入的文件夹路径

例如:要将文件名为test1上传到服务器:文件所在具体路径为/home/ubuntu/test1(可以进入到这个文件所在的路径后,输入命令:pwd,显示当前路径。)


因此:


scp -r /home/username1/Downloads/assignment1 username@192.168.3.192:/home/username/

将文件/文件夹从远程 Ubuntu 机拷至本地(rsync)


rsync -v -u -a --delete --rsh=ssh --stats username@192.168.0.1:/home/username/remotefile.txt .

将文件/文件夹从本地拷至远程 Ubuntu 机(rsync)


rsync -v -u -a --delete --rsh=ssh --stats localfile.txt username@192.168.0.1:/home/username/

如何在 Windows 机上用 SSH 远程登录 Ubuntu 机

下载 PuTTY


如何在 Windows 机上拷贝 文件/文件夹 从/到 远程 Ubuntu 机

下载 FileZilla


ssh -X anspoon@118.25.126.80.4 ls

直接在服务器端执行 ls 返回结果到客户端


如何限制通过SSH远程连接的用户帐号

例如你启用了SSH服务,那么任何有有效帐号的用户都可以远程连接。这可能会导致一些安全问题,由于有一些远程密码破解工具可以尝试常见的用户名/密码


备份SSH服务的配置文件


sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ORIGINAL

编辑配置文件


sudo gedit /etc/ssh/sshd_config


将参数 PermitRootLogin 由 yes 更改为 no。 超级用户不能直接通过远程联机。

添加参数 AllowUsers 设定远程连接的用户名 (用空格来分割) 。

您也可以使用 DenyUsers for fine-grained selection of users.

If you enable the openssh server and you have no intention for now to enable remote connections, you may add AllowUsers nosuchuserhere to disable anyone connecting.

SSH 命令

ssh 命令可以用来在远程机器上不经 shell 提示登录而执行命令。它的语法格式是: ssh hostname command。


譬如,如果你想在远程主机 penguin.example.net 上执行 ls /usr/share/doc 命令,在 shell 提示下键入下面的命令:


ssh penguin.example.net ls /usr/share/doc


目录
相关文章
|
3月前
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
241 6
|
3月前
|
Ubuntu 开发工具 Android开发
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
本文介绍了在基于Ubuntu 22.04的环境下配置Python 3.9、安装repo工具、下载和同步AOSP源码包以及处理repo同步错误的详细步骤。
184 0
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
|
4天前
|
程序员 网络安全 开发工具
读书|通过 SSH & SFTP 管理 Kindle 上的文件
这是这个系列的第三篇文章,介绍我如何通过 SSH & SFTP 管理 Kindle 上的文件。
15 3
|
23天前
|
网络安全 数据安全/隐私保护 C++
VS Code 的SSH连接不成功问题分析与解决
VS Code 的SSH连接不成功问题分析与解决
|
3月前
|
Ubuntu Linux 开发工具
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
|
3月前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
3月前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu server连接wifi教程
本文提供了一个简化Ubuntu Server在Raspberry Pi系统上配置过程的脚本"config_ubuntu_server",包括自动和手动两种方法来设置root权限、SSH配置,并连接WiFi,同时支持无密码SSH访问,适合初学者和高级用户。
75 3
|
3月前
|
Ubuntu Linux Windows
如何下载并安装Ubuntu22.04
本文是一份详细的Ubuntu 22.04 LTS系统安装指南,包括从Ubuntu官网下载镜像、使用balenaEtcher工具烧录镜像到U盘,以及通过U盘启动并安装Ubuntu系统的完整步骤。
545 0
如何下载并安装Ubuntu22.04
|
3月前
|
网络安全
mac下通过ssh脚本实现免账号密码连接运服务器
mac下通过ssh脚本实现免账号密码连接运服务器
46 3
|
3月前
|
网络安全 数据安全/隐私保护
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
632 0