博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置ssh,使用自定义 ssh-key 访问特定的服务器
阅读量:5960 次
发布时间:2019-06-19

本文共 2095 字,大约阅读时间需要 6 分钟。

Mac os 下可以直接在终端中使用内置的ssh命令,通过ssh-key来访问远程服务器。通过证书登录服务器可以保证安全性,还能提高登录的速度,免去输入密码的麻烦。

Mac os 下,ssh证书是默认存放在 ~/.ssh 目录下的,Linux系统也是如此。默认的ssh-key文件是:id_rsa 和 id_rsa.pub。

你可以使用一个ssh-key用于多个服务器之间的登录,也可以针对不同的服务器,使用不同的ssh-key文件。

下面介绍使用一个自定义的ssh-key文件访问特定的服务器。

生成证书

mac默认提供了ssh-keygen,我们可以使用此工具来生成公钥和私钥。

MacBook-Pro:~ henry$ ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/Users/henry/.ssh/id_rsa): /Users/henry/.ssh/test_rsa          #询问保存路径,如果默认,则在当前用户的 ~/.ssh 目录下生成id_rsa文件。这里我们自定义一个key,取名:test_rsaEnter passphrase (empty for no passphrase):                                #如果你想用密码来保护你的证书,可以选择在这里输入。Enter same passphrase again:                                      #如果输入了密码,需要再次输入该密码Your identification has been saved in /Users/henry/.ssh/test_rsa.Your public key has been saved in /Users/henry/.ssh/test_rsa.pub.The key fingerprint is:SHA256:V4RNi8fLUgeiCRMY6UJU8YR73SQ//JTgdSMBjyBJKws henry@MacBook-Pro.localThe key's randomart image is:+---[RSA 2048]----+| ...+BBo. o==.   ||  . +o.=.++B+oo  || .E...o.oBooB+.. ||  ..oo. . *=oo   ||   ...  S o+o    ||         . ..    ||                 ||                 ||                 |+----[SHA256]-----+

clipboard.png

在该操作后,我们生成了一个key,包括私钥和公钥,分别是:

/Users/henry/.ssh/test_rsa/Users/henry/.ssh/test_rsa.pub

将公钥安装到远程服务器上

可以使用rsync或scp或ssh-copy-id。

1.使用rsync或scp的方法(二者选择其一即可):

rsync -av ~/.ssh/test_rsa.pub username@remote:~/.ssh/authorized_keysscp ~/.ssh/test_rsa.pub username@remote:~/.ssh/authorized_keys

2.使用ssh-copy-id的方法:

点击ssh-copy-id查看工具获取方法。

必须要使用参数i指定公钥的路径。不然传送的公钥会出现错误,内容被替换为错误信息『The agent has no identities.』。

ssh-copy-id -i ~/.ssh/test_rsa.pub username@remoteMachine

修改config配置文件(非自定义key可忽略该步骤)

在 ~/.ssh 目录下,有个文件:config。要使用特定的私钥访问特定的服务器,需要在config里做相应的配置,不然,ssh工具会默认使用 id_rsa 的私钥进行登录验证。如果不是自定义的key,可以不做该操作。

config文件的地址: ~/.ssh/config

举个栗子?,我们想用test_rsa这个私钥来访问服务器:11.11.11.11(随便写一个),登录的用户名是username,config里的配置如下:

# 登录服务器:11.11.11.11,使用私钥test_rsaHost 11.11.11.11User usernameIdentityFile ~/.ssh/test_rsa

登录远程服务器

设置好上面几步之后,就可以用 ssh-key 来登录远程服务器了,直接在终端中使用 ssh 命令即可。

比如,要访问服务器的IP地址是:11.11.11.11

ssh 11.11.11.11

如果用户名没有错的话,就可以登录成功了。

clipboard.png

转载地址:http://xkyax.baihongyu.com/

你可能感兴趣的文章
Comet OJ - Contest #3 题解
查看>>
[网络流24题-9]试题库问题
查看>>
jquery选择器详解
查看>>
C# 保留2位小数
查看>>
使用xshell远程连接Linux
查看>>
杭电ACM1007
查看>>
faster-RCNN台标检测
查看>>
Unix环境高级编程 centos中配置apue编译环境
查看>>
运算符
查看>>
数据结构之各排序算法
查看>>
网页分帧操作<frameset>,<iframe>标签
查看>>
Vue生产环境部署
查看>>
酒店之王
查看>>
html5判断用户摇晃了手机(转)
查看>>
VS下Qt4.8.4安装
查看>>
Linux df命令
查看>>
redhat6.5 配置使用centos的yum源
查看>>
取得内表的数据数
查看>>
在一个程序中调用另一个程序并且传输数据到选择屏幕执行这个程序
查看>>
“=” “:=” 区别
查看>>