如何使用SSH(ssh和rsync命令)?

如何通过SSH与远程服务器进行SSH,以便浏览文件并进行编辑? 我有一个用户名和密码可供使用。

在所有Ubuntu版本中默认使用SSH ,因此您可以节省安装它(+1已经存在;))

当然,除非您需要为Ubuntu服务器提供SSH服务器。 在那种情况下你会的

sudo apt-get install openssh-server 

这应该使您的计算机/服务器准备好成为ssh服务器。

使用它很容易:

ssh USER@SITE ,例如,如果我的用户名是cyrex ,网站是ubuntu.com那么你会这样做:

 ssh cyrex@ubuntu.com 

现在假设您要将一个名为bubblegum.txt的文件从您的计算机复制到您的ubuntu站点,并希望将该文件保留在ubuntu站点的/var/www文件夹中。 你可以使用SSH的兄弟SCP (在Ubuntu中默认使用)来做到这一点(假设你的用户在ubuntu网站上有足够的权限):

 scp bubblegum.txt cyrex@ubuntu.com:/var/www 

请注意: USER @ SITE和要复制它的文件夹之间。 它是将两种元素分开的一种。

现在让我们说你用scp上传一些巨大的文件,然后最坏的情况发生,世界爆炸。 如何继续将该文件上传到服务器。 然后你得到了SCP的大哥rsync (默认情况下是Ubuntu)。 在许多方面,scp和rsync都做同样的事情,但这里有一些很大的区别:

  • rsync可以在断开连接或统治世界后上传从rsync或scp留下的部分文件。
  • rsync可以比scp更好地显示进度
  • rsync可以优化上传,使您可以在上传时节省几秒或几分钟。 它还会在上传结束时显示您节省了多少。

无论如何,在scp无法上传整个文件的情况下,这就是rsync进入救援的地方。 (感谢Marco Ceppi的提示。如果你喜欢猫和/或狗,请投票给他评论)

让我们说你从scp上面提到了上传,它达到了60%。 如何在不损失上传时间的情况下继续保持60%。 你会这样做:

 rsync --progress --partial bubblegum.txt cyrex@ubuntu.com:/var/www 

这告诉rsync使用--progress标志以一种很好的人类可读方式显示进度。 它还告诉rsync检查并继续使用--partial标志从文件bubblegum.txt到达的--partial 。 您还可以使用与-progress和–partial相同的-P参数来简化写入量,因此上面的内容如下所示:

 rsync -P bubblegum.txt cyrex@ubuntu.com:/var/www 

您甚至可以通过CTRL + C上传并通过上面的rsync执行命令来恢复它。 非常酷,有能力随时随地恢复某些东西。

有关rsync的更多信息,默认情况下使用Ubuntu,您可以键入以下终端命令:

 man rsync info rsync rsync --help 

现在为SSH指定端口。 要指定它,你可以这样做:

ssh cyrex@ubuntu.com -p PORT 。 例如: ssh cyrex@ubuntu.com -p 1234告诉它使用端口1234进行SSH服务。 必须首先在服务器中配置它才能使其正常工作。

要配置它,只需在服务器中打开文件ssh_config,如下所示: nano /etc/ssh/ssh_config ,并将nano /etc/ssh/ssh_config # port 22的行更改为另一个端口。 还记得从该行中删除评论。 它应该如下所示:上面示例中的port 1234

现在只需重新启动服务器中的ssh服务即可完成。 要重新启动服务,请执行以下操作:

 sudo restart ssh 

要么

 sudo /etc/init.d/ssh restart 

注意 – 您也可以使用来自filezilla等GUI工具的SSH,它提供了使用ssh而不是ftp的选项。 也可以在Ubuntu菜单中访问ssh:

在此处输入图像描述

它允许访问多个选项,包括Windows共享,SSH和FTP

在此处输入图像描述

有关SSH的更多信息,您可以在Ubuntu框中的控制台中使用以下命令之一:

 man ssh info ssh ssh --help 

如果您想通过Nautilus浏览服务器,就像使用本地计算机上的文件一样:

  1. 打开Nautilus(“主文件夹”)
  2. 转到“文件” – >“连接到服务器”

    连接到服务器

  3. 在“服务类型”下选择“SSH”

  4. 将IP地址或域放在“服务器”下

    选择SSH

  5. 如果您希望将位置保存到书签,请添加您的用户名并选中“添加书签”。

该文件夹应该为您打开。

您可以使用sshfs将远程目录挂载到本地文件系统。

请参阅https://help.ubuntu.com/community/SSHFS :

命令行用法

现在,假设您在远程计算机上运行了SSH服务器,只需运行SSHFS命令即可安装远程目录。 在此示例中,远程目录是/远程主机上的项目。 本地挂载点是〜/ far_projects。

 mkdir ~/far_projects sshfs -o idmap=user $USER@far:/projects ~/far_projects 

要卸载,

 fusermount -u ~/far_projects 

要将它添加到/ etc / fstab,

 sshfs#$USER@far:/projects /home/$USER/far_projects fuse defaults,idmap=user 0 0 

请注意,在编辑fstab时,您必须将$ USER更改为您的登录名,但在键入命令时不需要(在这种情况下shell会为您执行此操作)。

假设已经设置了ssh服务器,请打开终端并键入:

 ssh username@hostname 

系统会提示您输入密码; 输入它。 如果需要端口号,请添加-p PORTNUM

如果您可以使用Vim,Pico等,您可以使用终端:

 ssh MYUSER@mysite.com 

输入你的密码,你就在。从那里,它就像一个普通的终端,除了你没有GUI。

注意,您可以添加’-X’选项,如果您的服务器配置了X服务器,您可以运行GUI程序。 如果添加了-X,只需键入其名称即可启动GUI窗口。

现在,您可能想要设置无密码登录。 如果您还没有密钥,请键入ssh-keygen然后按Enter键以显示所有默认值。 然后执行ssh-copy-id MYUSER@mysite.com 。 完成后,只需输入ssh MYUSER@mysite.com ,您就不必输入密码了!

如果您的用户名与笔记本电脑的用户名相同,则不需要MYUSER@ 。 你可以做ssh mysite.com 。 您也可以使用-l MYUSER选项代替MYUSER@

如果你想要一个GUI,Nautilus可以做到这一点。 文件->连接到服务器-> [选择’SSH’,然后填写登录详细信息] ->连接。

如果您只想复制单个文件,请使用scp [安全复制]。
scp MYUSER@mysite.com:path/to/file.dat ./

这会将文件“〜/ path / to / file.dat”复制到当前目录。 请注意,如果在:之后没有斜杠或波浪号,则它将像您在主目录[ ~/ ]中一样。 如果你想上传, scp ./local_file.dat MYUSER@mysite.com:这会把它放在你的家里。

ssh -X -C user@host nautilus --no-desktop进入gui模式:)