一台机器上~/.ssh/文件夹内如何管理多个ssh key

刚刚接触github,按照廖国锋的教程http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

第一次操作ssh key那里,没问题。

然而,老师的新项目,不在github.com上,挂在coding.net上,于是在coding.net上又要设置ssh key.

于是,出现了一系列问题,其本质原因就是coding.net读取了原来的专属用于github的~/.ssh/id_rsa;

而我,现在需要的当然是让coding.net读取~/.ssh/id_rsa_coding。。

自然,我如果clone仓库,必然失败:

git clone [email protected]:xxx/xxx.git

这样会光荣得到一个Pemission denied.

具体做法:

我参考了http://www.cnblogs.com/fanyong/p/3962455.html。。。。

但是,这里面有一个最害人的操作,就是

如果执行ssh-add时提示"Could not open a connection to your authentication agent",可以现执行命令:

$ ssh-agent bash

然后再运行ssh-add命令。

我在本机(包括我看的别人一些帖子)输这个命令根本P用都没有,坑爹无极限,关于这个命令我也查了,总之不起作用。

我的处理方式:

直接跳过这一步,然后新建config文件,按http://www.cnblogs.com/fanyong/p/3962455.html帖子示例填充内容

vi config

以下是我的config文件内容(已经成功)

#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

# coding.net
Host coding.net
HostName coding.net
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_coding

然后,最后测试:

[email protected] ~/.ssh
$ ssh -T [email protected]
Warning: Permanently added the RSA host key for IP address ‘192.30.252.128‘ to t
he list of known hosts.
Hi ***! You‘ve successfully authenticated, but GitHub does not provide sh
ell access.

[email protected] ~/.ssh
$ ssh -T [email protected]
Permission denied (publickey).

[email protected] ~/.ssh
$ ssh -T [email protected]
Coding.net Tips : [Hello ! You‘ve connected to Coding.net by SSH successfully! ]

  

时间: 2024-10-14 21:19:54

一台机器上~/.ssh/文件夹内如何管理多个ssh key的相关文章

使用SyncToy 同步两台机器上的文件夹

@echo off echo 准备启动同步... net use \\WIN-AJH8QENQQGK "123456" /user:Administrator Z:\SyncToy\SyncToyCmd.exe -r lz2echo 取日期.时间变量值set yy=%date:~0,4%set mm=%date:~5,2%set dd=%date:~8,2%set hh=%time:~0,2%set mn=%time:~3,2%set ss=%time:~6,2%set filenam

【git】一台机器上使用不同的git账号

1.生成一个新的自定义名称的公钥: ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/sxfself 一直点击回车 执行命令后,生成命名的公钥和生成默认公钥的步骤一样. 执行完成后,会在 ~/.ssh/目录下生成一个 sxfself 和 sxfself.pub 文件 2.在 SSH 用户配置文件 ~/.ssh/config 中指定对应服务所使用的公秘钥名称,如果没有 config 文件的话就新建一个,并输入以下内容: #sxfSelf

使用zabbix监控位于两台不同的机器上的文件是否一致

生产上有一需求,要把某个文件同步到另一台备机上,备机启动程序的时候需要引用这个文件,以便能够实现failover.文件同步的方法这里不言,这里主要讨论怎么通过zabbix平台实现对两个位于不同机器上的文件是否一致进行监控,若出现不一致的情况立即告警,需要人为干预. 在网上也搜索了好多帖子,差不多都使用了脚本来实现,感觉都不适合自己.于是曲曲折折走了一段弯路,最开始打算用Python脚本实现的,脚本都准备好了也测试过了.后来看到了calculate item这种方式,只是单纯的通过zabbix就能

如何确定Hadoop守护进程分别会在哪台机器上运行

经过一段时间的配置,Hadoop环境总算运行起来了,但是呢,为何主节点就没有跑tasktracker和datanode进程,slave节点也没有跑secondary进程,Hadoop是如何控制的呢? 经过看权威指南(267页)和跟群里同学讨论,还有自己测试,最终确定: tasktracker和datanode这两个守护进程 —— 只会在conf/slaves文件里指定的那些节点上运行 secondarynamenode 这个守护进程 —— 只会在conf/masters文件里指定的那个节点上运行

如何在一台机器上配置多个git的rsa

如何在一台机器上配置多个git的rsa 问题的提出 很多时候,我们一台机器上要使用多个git库,比如 github, csdn 以及 自己公司的.那么 rsa就要有多份.那么该如何让这些共同存在呢? 原理就是:建立多个不同的rsa 然后 在ssh config中分别不同的配置. 具体步骤 1 建立rsa ssh-keygen -t rsa -C "你的邮箱地址" 执行完这条命令之后, 会弹出如下提示: Enter file in which to save the key (/User

同一台机器上有多个Python版本?

有关Python网站上的官方文档,如何在Linux上的同一台机器上安装和运行多个版本的Python? 我可以找到大量的博客帖子和答案,但我想知道是否有“标准”官方方式这样做? 或者这完全取决于操作系统? 解决方案 我认为它是完全独立的.只需安装它们,然后你就可以使用命令/usr/bin/python2.5和/usr/bin/python2.6.链接/usr/bin/python到您要用作默认值的链接. 无论如何,所有库都在单独的文件夹中(以版本命名). 如果要手动编译版本,请参阅Python源代

【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作

一.基本目标 使用Java完成如下的操作: 把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹: f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加rename_的前缀,如果里面有文件夹,则文件夹不重命名,里面的文件进行重命名,同样在所有文件之前加rename_的前缀: 二.制作过程 1.首先主函数非常简单,就是调用了上面FileTest类中的copyFolder函数 public class FileCopy { pu

git 在一台机器上配置多个账户

前提: 必须知道怎样配置git账户,请參考git官方教程:https://help.github.com/articles/generating-ssh-keys 这个教程能教你怎样生成ssh-key,以及怎样加入ssh-key. 补充一点.怎样设置user.name和user.email.命令例如以下: 1)设置局部的user.name和user.email git config user.name "xxxxxx" git config user.email "[emai

Linux批量替换文本,文件夹内所有文本内容

1.替换文件夹内所有文件匹配的字符串 sed -i "s/旧内容/新内容/g" `grep 旧内容 -rl 文件夹路径` 例如将/var/www/test文件夹下的所有文件内容中的abc字符串换成123 sed -i "s/abc/123/g" `grep abc -rl /var/www/test` 注:grep内容用的不是单引号',而是`,tab键上面的,请使用绝对路径 2.替换文件内所有匹配的字符串 sed -i "s/旧内容/新内容/g"