ssh远程登录介绍:

为了实现客户端登录远程服务器,一般都使用ssh协议进行操作。ssh是一种加密登录的网络协议。本文主要介绍使用ssh实现用户名密码登录远程主机、用户名秘钥登录、配置快捷登录(本文采用mac环境,window应该需要安装一些工具,这里不做介绍)。

 

密码登录:

直接打开终端,键入如下命令登录:

ssh 用户名@服务器IP地址

 

若端口不为默认值的话则使用如下命令:

ssh 用户名@服务器IP地址 -p 端口号

 

使用此种方式如果能够连接成功服务器的话,会提示你输入密码,输入密码成功后,会提示登录成功。此种方式每次登录都会输入密码,而且也不安全,下面介绍使用秘钥登录实现加密的免密码登录,方便安全,推荐。

 

秘钥登录:

过程:首先在客户端创建秘钥对,再把创建的公钥复制到服务器家目录下,再将公钥字符串追加在家目录的.ssh目录的authorized_keys(ssh认证文件)文件末尾。

 

创建秘钥

ssh加密方式有rsa和dsa两种,使用两种方式其中一种都可以。本文使用rsa。

首先打开本地终端,执行ssh-keygen命令创建本地秘钥对(如本地已经生成,请忽略此步骤):

ssh-keygen -t rsa -C "xxxx@xx.xxx"

说明:

-t 指定秘钥类型(rsa,dsa两种)默认是rsa。可选

-C 注释文字,一般多用邮箱。可选

一路回车即可。其中两次是让你输入使用公钥的密码,不输入即不使用密码。

之后会在家目录的隐藏文件夹.ssh(即~/.ssh)下生成id_rsa私钥和id_rsa.pub公钥两个秘钥文件。

 

复制公钥到服务器

使用scp将本机公钥复制到服务器家目录

scp -P 端口号 ~/.ssh/id_rsa.pud 用户名@服务器IP地址:~/id_rsa.pub

其中若没有修改默认端口的话 -P 端口号 可以不写,前面为本机公钥地址,后面为复制到服务端地址。

此过程中如果出现权限报错的问题的话,可以使用如下命令修改文件与操作权限

chmod 700 ~/.ssh

chmod 644 ~/.ssh/authorized_keys

 

再用密码登录服务器,使用cat将复制过来的公钥字符串追加到authorized_keys文件末尾

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

 

上面步骤都完成之后,在客户端再使用下面命令登录

ssh 用户名@服务器IP地址 -p 端口号

第一次登录需要输入密码,验证成功登录之后,之后再使用该命令登录就不需要输入密码了。

 

快捷登录:

上面实现的加密的秘钥登录之后,输入的一长串命令是可以实现不用输入密码登录了,但是还是太麻烦了,其实我们可以在客户端.ssh文件下的config(~/.ssh/config)配置文件中设置服务器别名,之后用别名登录。可以通过vim命令修改config文件为下面格式:

ssh远程进入docker ssh远程登录服务器命令_ssh

之后登录服务器就可以使用别名登录了:

ssh 别名