您的位置:

如何通过ssh实现远程登录linux服务器

一、SSH简介

SSH(Secure Shell)是一种安全加密的远程登录协议,通过SSH连接,可以在不同的计算机之间安全地传输数据。SSH采用了RSA或DSA等加密方式,可以防止数据在传输过程中被拦截、篡改或者泄露。

SSH协议的基础是一个客户端和服务器之间的TCP/IP链接,通过这个链接进行加密后的登录、文件传输等操作。

Linux服务器默认支持SSH协议,可以通过SSH连接进行远程登录。

二、SSH连接方式

在Linux系统中,SSH支持通过密码和密钥两种方式进行远程连接。

1.密码连接

使用密码连接远程服务器,需要在客户端终端中输入以下命令:

ssh username@remote_host_ip

其中,username为要登录的用户名,remote_host_ip为远程服务器IP地址。

在执行此命令后,系统会提示输入该用户的密码。

如果输入的密码正确,就可以登录到远程服务器。

2.密钥连接

使用密钥连接远程服务器,需要先生成一对RSA密钥,然后将公钥发送给远程服务器,用于验证用户身份。

生成RSA密钥

在客户端终端中输入以下命令,生成一对RSA密钥:

ssh-keygen -t rsa

在执行此命令后,系统会提示输入保存密钥的文件名和密钥密码等信息。

按照提示输入,就可以在当前用户的home目录下生成id_rsa和id_rsa.pub两个文件,其中id_rsa为私钥,id_rsa.pub为公钥。

发送公钥到远程服务器

在客户端终端中输入以下命令,将公钥发送到远程服务器,以实现密钥连接:

ssh-copy-id username@remote_host_ip

其中,username为要登录的用户名,remote_host_ip为远程服务器IP地址。

在执行此命令后,系统会提示输入该用户的密码。

如果输入的密码正确,系统就会将公钥发送到远程服务器的~/.ssh/authorized_keys文件中。

连接远程服务器

在客户端终端中输入以下命令,即可通过密钥连接到远程服务器:

ssh -i ~/.ssh/id_rsa username@remote_host_ip

其中,username为要登录的用户名,remote_host_ip为远程服务器IP地址,-i参数指定使用的密钥文件。

三、注意事项

在使用SSH连接时,需要注意以下几点:

1.确保远程服务器已安装openssh-server程序;

2.在连接远程服务器前,需要在本地网络设置中开放SSH端口(默认为22);

3.连接时需要输入正确的用户名和密码,或者使用正确的密钥文件。