我如何通过 SSH 与远程服务器连接,以便浏览和编辑文件?我有一个用户名和密码可以使用。
答案1
SSH所有 Ubuntu 版本都默认提供该功能,因此您无需安装它(+1,因为已经安装了它;))
当然,除非你想为你的 Ubuntu 服务器安装一个 SSH 服务器。在这种情况下,你会
sudo apt-get install openssh-server
这应该使您的计算机/服务器准备好成为 ssh 服务器。
使用它相当容易:
ssh USER@SITE
例如如果我的用户名是赛瑞克斯该网站是ubuntu.com那么你可以这样做:
ssh [email protected]
现在假设你想bubblegum.txt
从你的电脑复制一个文件到你的 ubuntu 站点,并且想把这个文件留在/var/www
ubuntu 站点的文件夹中。你可以使用 SSH 的兄弟工具来做到这一点(假设你的用户在 ubuntu 站点有足够的权限),SCP(这也是 Ubuntu 的默认设置):
scp bubblegum.txt [email protected]:/var/www
注意:
USER@SITE 和您要复制的文件夹之间的 。它是两个元素之间的分隔符。
现在假设你正在用 scp 上传一些大文件,然后最糟糕的事情发生了,世界爆炸了。你怎么能继续将该文件上传到服务器呢?然后你就得到了 SCP 的老大哥,同步(Ubuntu 默认提供)。scp 和 rsync 在许多方面都做同样的事情,但它们之间存在一些重大差异:
- rsync 可以上传断开连接或世界控制后 rsync 或 scp 留下的部分文件。
- rsync 可以比 scp 更好地显示进度
- rsync 可以优化上传过程,让您在上传过程中节省数秒或数分钟的时间。它还会在上传结束时显示您节省了多少时间。
无论如何,如果 scp 无法上传整个文件,这时 rsync 就可以派上用场了。(感谢 Marco Ceppi 提供的提示。如果您喜欢猫……和/或狗,请为他的评论投票)
假设您从 scp 上传了上述内容,并且已上传到 60%。您如何才能继续上传这 60% 而不会浪费上传的时间。您可以这样做:
rsync --progress --partial bubblegum.txt [email protected]:/var/www
这告诉 rsync 使用标志以易于阅读的方式显示进度--progress
。它还告诉 rsync 使用标志检查并从文件 bubblegum.txt 到达的位置继续--partial
。您还可以使用 -P 参数简化要写入的数量,该参数与 --progress 和 --partial 相同,因此上面的内容将如下所示:
rsync -P bubblegum.txt [email protected]:/var/www
您甚至可以通过执行上述 rsync 命令来CTRL+C上传并恢复上传。能够随时恢复任意次数,这真是太棒了。
欲了解更多信息同步这是 Ubuntu 默认自带的,您可以输入以下终端命令:
man rsync
info rsync
rsync --help
现在指定 SSH 的端口。要指定它,您可以这样做:
ssh [email protected] -p PORT
。例如:告诉它使用端口 1234 作为 SSH 服务。必须先在服务器中配置此项才能使其正常工作。ssh [email protected] -p 1234
要配置它,只需在服务器中打开文件ssh_配置像这样:nano /etc/ssh/ssh_config
并将显示为另一个端口的行更改# port 22
为另一个端口。还请记住删除该行的注释。port 1234
在上面的示例中,它应该如下所示:
现在只需重新启动服务器中的 ssh 服务即可。要重新启动服务,只需执行以下操作:
sudo restart ssh
或者
sudo /etc/init.d/ssh restart
注意 - 您还可以从 GUI 工具中使用 SSH,例如filezilla
提供使用 ssh 而不是 ftp 的选项。您也可以从 Ubuntu 菜单中访问 ssh:
可以访问多个选项,包括Windows 共享、SSH 和 FTP:
有关 SSH 的更多信息,您可以在 Ubuntu 控制台中使用以下命令之一:
man ssh
info ssh
ssh --help
答案2
如果您想通过 Nautilus 浏览服务器,就像浏览本地机器上的文件一样:
打开 Nautilus(“主文件夹”)
转到“文件”-->“连接到服务器”
在“服务类型”下选择“SSH”
将 IP 地址或域名放在“服务器”下
如果您希望将位置保存到书签中,请添加您的用户名并选中“添加书签”。
该文件夹应该会立即打开。
答案3
您可以使用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
如果您可以使用 Vim、Pico 等,则可以使用终端:
ssh [email protected]
输入您的密码,您就可以进入。从那里,它就像一个常规终端,只是没有 GUI。
注意,你可以添加“-X”选项,如果你的服务器配置了 X 服务器,那么你能运行 GUI 程序。如果添加了 -X,只需输入其名称,它就会启动 GUI 窗口。
现在,您可能想要设置无密码登录。如果您还没有密钥,请输入ssh-keygen
并按回车键保留所有默认值。然后执行。完成后,只需输入,无需输入密码!ssh-copy-id [email protected]
ssh [email protected]
如果您的用户名与笔记本电脑的用户名相同,则无需MYUSER@
。您可以直接执行ssh mysite.com
。您也可以使用选项-l MYUSER
代替MYUSER@
如果您想要一个 GUI,Nautilus 可以做到这一点。文件->
连接到服务器->
[选择“SSH”,然后填写登录详细信息]->
连接。
如果您只想复制一个文件,请使用 scp [安全复制]。
scp [email protected]:path/to/file.dat ./
这会将文件“~/path/to/file.dat”复制到当前目录。请注意,如果 后面没有斜线或波浪号:
,则它会像您位于主目录 [ ~/
] 中一样。如果您想上传, 这会将其放在您的主目录中。scp ./local_file.dat [email protected]: