通过SSH连接远程主机

要通过终端连接一个远程主机,正常的配置是直接在命令行中:ssh [email protected];然后输入秘密就好了.如果想通过SSH的方式进行免密码登录,就要进行一定的配置.

这里的环境是Mac <--> Linux之间的连接,首先通过命令行生成SSH密匙.一般在home目录下的.ssh文件夹(隐藏)生成密匙,首先进入文件夹.cd ~/.ssh;然后通过ssh keygen命令生成密匙,这里我生成的一个id_rsa和一个id_rsa.pub两个密匙.带有.pub后缀的是公匙,不带的时私匙.

生成完毕后都可以打开里面就是一个长长的字符串,下一步要将公匙的内容复制到远程服务器的固定文件中.这里是希望将~/.ssh/id_rsa.pub(Mac机)的内容复制到/home/elemedev/.ssh/authorized_keys(Linux机).

这样的一个操作你可以通过命令行的方式,也可以vim编辑器来复制内容.如果是复制可以用:sudo scp -r ~/.ssh/id_rsa.pub [email protected]:~/.ssh/authroized_keys;这一过程可能会报一些问题,比如复制的scp命令提示权限等问题,这里的权限要精确到目录,即你提取内容的目录和你接收内容的目录是否都拥有权限.这里最好不要切换root用户,直接使用sudo升权命令或者修改文件目录即可.

然后再连接的时候,就不需要输入密码了,因为已经通过了SSH的密匙验证.

补充

这样连接还是要写用户名和地址的,如果你可以配置下.ssh/config文件,就可以通过更加方便的方式进行连接.

在config文件中,按照如下格式配置:
  1. Host 别名
  2. HostName 主机名(IP)
  3. Port 端口号(默认可以忽略)
  4. User 登录用户名
  5. IdentityFile 密匙文件路径(包含文件名,不需要后缀)

    然后直接通过命令: ssh 别名;这样就可以连接了.

你可能感兴趣的:(通过SSH连接远程主机)