$ ssh -L post:localhost:host_port username@server_ip -p ssh_port
是标准的SSH连接命令,其中post为本地端口,host_post为服务器端口,username为服务器用户名,server_ip为服务器ip地址,ssh_port为服务器SSH端口,每次连接服务器都需要输入密码和繁琐的SSH连接命令,为了方便,可以在本地配置SSH免密登录和别名登录,具体操作如下:
首先在本地生成SSH密钥对,如果已经有密钥对可以跳过这一步
$ ssh-keygen -t rsa -C "email@xxx.com"
在终端输入上述命令,会在~/.ssh/目录(winsdows应该是C:\Users\用户\.ssh)下生成私钥id_rsa和公钥id_rsa.pub,将公钥id_rsa.pub的内容复制到服务器~/.ssh/authorized_keys文件中,应该是ssh-rsa开头,email@xxx.com结尾,如果没有该authorized_keys文件则新建,然后在本地~/.ssh/config文件中添加如下内容,如果没有该config文件则新建:
Host server_alias
HostName server_ip
LocalForward post localhost:host_port # 可以不写这一行
Port ssh_port
User username
IdentityFile ~/.ssh/id_rsa
其中server_alias为服务器别名,IdentityFile配置本地私钥路径(可以不写,默认是~/.ssh/id_rsa),用于配置连接多个服务器,配置完成后,可以直接在终端输入
$ ssh server_alias
连接服务器,如果配置成功,会直接进入服务器,无需输入密码和繁琐的SSH连接命令