一、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.连接时需要输入正确的用户名和密码,或者使用正确的密钥文件。