Linux远程管理:使用SSH远程登录服务器

发布时间:2023-05-13

一、背景介绍

在Linux操作系统中,远程登录和管理是一个非常重要的操作。使用SSH协议进行远程登录是最常见的方法。SSH(Secure Shell)是一种加密的网络传输协议,可以在不安全的网络上为网络服务提供安全的传输环境,同时也提供了加密、口令以及公钥等多种安全机制。

二、SSH远程登录

1、首先,需要在本地机器上安装SSH客户端。在Linux和Mac系统上,SSH客户端已经默认安装了,可以通过命令行使用。在Windows系统上,可以下载PuTTY客户端并安装。

sudo apt-get install ssh  # Linux和Mac系统下安装SSH客户端

2、获取远程服务器的IP地址或域名,并使用以下命令登录服务器。

ssh username@remote_host

其中,remote_host是远程主机的IP地址或域名,而username是远程主机上的用户名。 如果第一次连接远程主机,会看到以下提示。

The authenticity of host 'remote_host (x.x.x.x)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?

输入yes后,会提示您输入密码,输入正确的密码后即可登录到远程主机。

三、SSH公钥登录

SSH还提供了公钥登录的方式,即无需输入密码即可登录到远程主机。这种方式可以提高安全性,避免密码的泄露。 1、首先,在本地机器上生成SSH密钥对,使用以下命令即可。

ssh-keygen

按提示输入密钥的保存位置和密码等信息,密钥的保存位置默认为~/.ssh/id_rsa.pub。 2、将本地机器的公钥添加到远程主机上,使用以下命令即可。

ssh-copy-id username@remote_host

执行以上命令后会提示您输入密码,输入正确密码后,本地机器的公钥就会自动添加到远程主机的 authorized_keys 文件中。 3、使用以下命令即可使用公钥登录到远程主机。

ssh -i /path/to/private/key username@remote_host

其中,-i选项指定了使用的私钥文件地址。

四、SSH配置文件

SSH还提供了一种配置文件的方式,可以简化SSH登录的命令。默认情况下,SSH客户端会读取~/.ssh/config文件里的配置信息。 1、在本地机器上创建一个名为config的文件,使用以下命令即可。

touch ~/.ssh/config

2、编辑config文件,添加以下内容。

Host remote_host
    Hostname x.x.x.x
    User username
    IdentityFile ~/.ssh/id_rsa

其中,remote_host是远程主机的别名,x.x.x.x是远程主机的IP地址,username是远程主机上的用户名,~/.ssh/id_rsa是私钥保存的路径。 3、使用以下命令即可通过别名登录远程主机。

ssh remote_host

五、SSH传输文件

除了可以进行远程登录,SSH还可以传输文件。使用SCP(Secure Copy)或SFTP(SSH File Transfer Protocol)协议,可以将本地文件上传或下载到远程主机。 1、使用以下命令即可使用SCP上传本地文件到远程主机。

scp /path/to/local/file username@remote_host:/path/to/remote/directory

其中,/path/to/local/file是本地文件的路径,username@remote_host:/path/to/remote/directory是远程主机上文件保存的路径。 2、使用以下命令即可使用SCP下载远程主机上的文件到本地机器。

scp username@remote_host:/path/to/remote/file /path/to/local/directory

其中,username@remote_host:/path/to/remote/file是远程主机上文件的路径,/path/to/local/directory是本地文件保存的路径。 3、除了SCP,SFTP也是一种常用的文件传输方式。可以使用以下命令启动SFTP客户端。

sftp username@remote_host

启动SFTP客户端后,可以使用类似FTP的命令进行文件的上传、下载、删除等操作。

六、总结

通过SSH协议进行远程登录和管理,是Linux系统中非常常见的操作方式。本文介绍了使用SSH远程登录、SSH公钥登录、SSH配置文件、SCP和SFTP等多种常用的SSH操作方式,可以帮助您更高效地管理远程Linux系统。