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


44

如何使用远程服务器进行SSH,以便浏览文件并进行编辑?我有要使用的用户名和密码。

Answers:


49

SSH在所有Ubuntu版本中都是默认提供的,因此您无需安装它(已安装+1;))

当然,如果您要为Ubuntu服务器使用SSH服务器,则除外。在这种情况下,您会

sudo apt-get install openssh-server 

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

要使用它很容易:

ssh USER@SITE例如,如果我的用户名是cyrex,站点是ubuntu.com,则可以执行以下操作:

ssh cyrex@ubuntu.com

现在,假设您bubblegum.txt要从计算机复制一个文件到ubuntu站点,并将该文件保留/var/www在ubuntu站点的文件夹中。您可以通过使用SSH的Brother 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检查并继续从文件bubblegum.txt到达带有--partial标志的位置。您还可以使用-P参数(与--progress和--partial相同)来简化要写入的数量,因此上面的代码如下所示:

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

您甚至可以通过上面rsync的命令来CTRL+ C上传并恢复它。能够随时随地恢复某些功能非常好。

有关Ubuntu默认提供的rsync的更多信息,您可以键入以下终端命令:

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并将表示该行的行更改# port 22为另一个端口。还记得从该行删除注释。它看起来应该像这样:port 1234在上面的示例中。

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

sudo restart ssh

要么

sudo /etc/init.d/ssh restart

注意-您也可以从GUI工具使用SSH,例如filezilla提供使用ssh而不是ftp的选项的GUI工具。ssh也可以从Ubuntu菜单中访问:

在此处输入图片说明

可以访问多个选项,包括Windows共享,SSH和FTP

在此处输入图片说明

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

man ssh  
info ssh  
ssh --help

你指的是对不起?
Luis Alvarado

23

如果要像通过本地计算机上的文件一样通过Nautilus浏览服务器,请执行以下操作:

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

    连接到服务器

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

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

    选择SSH

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

该文件夹应立即为您打开。


在Kubuntu上,可以对Krusader做同样的事情。
Adobe

6

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

参见https://help.ubuntu.com/community/SSHFS

命令行用法

现在,假设您有一台运行在远程计算机上的SSH服务器,只需运行SSHFS命令即可安装远程目录。在此示例中,远程目录是远程主机far上的/ projects。本地挂载点是〜/ 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会为您完成此操作)。


4

假设已经安装了ssh服务器,请打开终端并输入:

ssh username@hostname

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


2

如果可以使用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: 那会将其放在您的主目录中。


0

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


本地Nautilus可以仅连接到SSH共享。无需远程运行Nautilus。我实际上不建议这样做。有创意的建议,但仍为-1
Jo-Erlend Schinstad 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.