SSH如何经过公钥链接云服务器

 一般咱们链接远程服务器(linux)windows下经过putty或xshell等工具远程链接。linux下能够直接经过ssh命令链接。其实这二者都是一致的,都是经过ssh协议进行传输。html

SSH如何经过公钥链接云服务器

若是咱们的windows没有安装putty等工具,可是有git-bash的话也能够直接经过ssh来链接。经过如下命令:linux

ssh root@ip/主机名/域名/

接下来会叫你输入密码,成功输入后便可链接成功。可是这样每一次都要输入面码,咱们能够编写一个shell脚本,相似于:conn_vps.sh这样的文件git

首先,打开git-bash(桌面上右击,选择Git Bash Here。) $ 为gitbash的命令提示符, # 为注释,非命令没必要输入。下同github

$ cd ~ # 进入到用户家目录
$ mkdir sh # 新建一个sh目录,用于存放shell脚本。
$ cd sh # 以上都是个人我的习惯。没必要和我同样

而后新建该文件shell

$ vim conn_vps.sh

进入vim模式,按i键便可编辑,输入如下内容:vim

#!/bin/bash # 这一行必需要写,非注释
ssh root@ip/主机名/域名 # 输入你本身的远程主机ip等

此时按,ESC键,再按:wq保存退出。windows

如今便可运行该脚本:bash

$ ./conn_vps.sh
$ sh conn_vps.sh # 这两条命令,任意一条均可以运行

固然若是你在自己就在linux环境下,须要赋予执行权限,像下面这样。和我同样在git-bash中建立的,不须要这一步,自己就有执行权限。服务器

$ chmod 755 conn_vps.sh

而后再执行,而后你会发现依然会输入密码,这是固然的,咱们刚才只不过是把刚才的命令简单的脚本了一下。ssh

接下来SSH的密钥分发。

查看是否有密钥

$ ll ~/.shh/ # 查看是否有id.rsa,和id.rsa.pub两个文件。

若是没有的话,能够生成一个。有的话跳过这一步

$ ssh-keygen -t rsa -C "jan.mail@foxmail.com" #这部其实能够不加邮箱参数,可是git配置github链接须要。

#因此最好一次性作了,用同样的密钥。邮箱换成你本身的邮箱。

连续三次回车,若是不设置密码的话。

connect-key

接下来,上传公钥到远程服务器

$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@远程服务器的ip/主机名/域名

而后运行conn_vps.sh。第一次仍是须要输入一遍密码,若是出现如下提示符即算成功。

Now try logging into the machine, with: "ssh 'root@你的ip'"
and check to make sure that only the key(s) you wanted were added.

这样就算成功了,在运行conn_vps.sh,便可链接上你的服务器。

如何你要多个云服务器。root密码能够弄得复杂些,而后经过这样的方式链接云服务器。yeah!大功告成!嗯,既然咱们能够登陆上去了,那咱们去看看远程机器上(linux)的状况。

输入ll .ssh/

[root@ten ~]# ll .ssh/
total 4
-rw------- 1 root root 401 Sep 10 20:47 authorized_keys

若是你的远程机器上没有生成ssh-keygen,就会只有一个文件,authorized_keys翻译过来就是认证的密钥。而这个认证的密钥就是前面那条命令的的 ~/.ssh/id_rsa.pub 的内容。

cloud-1

因此这条命令 ssh-copy-id -i ~/.ssh/id_rsa.pub root@远程服务器的ip/主机名/域名就是把id_rsa.pub的内容粘贴到authorized_keys中。若是另外一台客户端也想链接到这台远程服务器。能够用一样的命令来一遍,也能够直接用cat查看id_rsa.pub,再在服务端用vim打开authorized_keys文件。粘贴进去,以前的不要删除,换一行便可。

固然若是你不想用ssh-copy-id -i命令,那你就得记住authorized_keys这个单词~

本文转载地址:https://www.linuxprobe.com/connect-key-cloud.html

相关文章
相关标签/搜索