<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Форум программистов и сисадминов Киберфорум - Блоги - KeyGen</title>
		<link>https://www.cyberforum.ru/blogs/191974/</link>
		<description>КиберФорум - форум программистов, системных администраторов, администраторов баз данных, компьютерный форум, форум по электронике и бытовой технике, обсуждение софта. Бесплатная помощь в решении задач по программированию и наукам, решение проблем с компьютером, операционными системам</description>
		<language>ru</language>
		<lastBuildDate>Tue, 12 May 2026 15:15:41 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>https://www.cyberforum.ru//cyberstatic.net/images/misc/rss.jpg</url>
			<title>Форум программистов и сисадминов Киберфорум - Блоги - KeyGen</title>
			<link>https://www.cyberforum.ru/blogs/191974/</link>
		</image>
		<item>
			<title>Два пользователя два ключа ssh на bitbacket</title>
			<link>https://www.cyberforum.ru/blogs/191974/1419.html</link>
			<pubDate>Sat, 01 Jun 2013 10:37:44 GMT</pubDate>
			<description>*Два пользователя два ключа ssh на bitbacket* 
 
_Проблема_: 
 
Имеется два пользователя на...</description>
			<content:encoded><![CDATA[<div><b>Два пользователя два ключа ssh на bitbacket</b><br />
<br />
<u>Проблема</u>:<br />
<br />
Имеется два пользователя на bitbacket. Ключь id_rsa.pub можно подключить только один раз.<br />
<br />
<u>Решение</u>:<br />
<br />
Создаем два разных ключа ssh:<br />
<div class="codeblock"><table class="bash"><thead><tr><td colspan="2" id="258692124"  class="head">Bash</td></tr></thead><tbody><tr class="li1"><td><div id="258692124" style="height: 62px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
</pre></td><td class="de1"><pre class="de1">~$ <span class="kw2">ssh-keygen</span> <span class="re5">-t</span> rsa <span class="re5">-f</span> ~<span class="sy0">/</span>.ssh<span class="sy0">/</span>id_rsa.work.bitbacket <span class="re5">-C</span> <span class="st0">&quot;My key for Work&quot;</span>
~$ <span class="kw2">ssh-keygen</span> <span class="re5">-t</span> rsa <span class="re5">-f</span> ~<span class="sy0">/</span>.ssh<span class="sy0">/</span>id_rsa.home.bitbacket <span class="re5">-C</span> <span class="st0">&quot;My key for Home&quot;</span></pre></td></tr></table></div></td></tr></tbody></table></div>Добавляем текст из id_rsa.home.bitbacket.pub и id_rsa.work.bitbacket.pub пользователям bitbacket.<br />
<br />
Создадим файл конфигурации SSH клиента:<br />
<div class="codeblock"><table class="bash"><thead><tr><td colspan="2" id="827553086"  class="head">Bash</td></tr></thead><tbody><tr class="li1"><td><div id="827553086" style="height: 62px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
</pre></td><td class="de1"><pre class="de1">~$ <span class="kw2">touch</span> ~<span class="sy0">/</span>.ssh<span class="sy0">/</span>config
~$ <span class="kw2">chmod</span> <span class="nu0">600</span> ~<span class="sy0">/</span>.ssh<span class="sy0">/</span>config</pre></td></tr></table></div></td></tr></tbody></table></div>И добавим в него информацию о наших удаленных хостах:<br />
<br />
<i>Host bitbucket.org<br />
    IdentityFile ~/.ssh/id_rsa.home.bitbacket</i><br />
<br />
На данном этапе будет подключаться пользователь home.<br />
<br />
Если заменить в файле ~/.ssh/config home на work будет подключать пользователь work<br />
<br />
Для этих изменений я написал скрипт:<br />
<br />
<div class="codeblock"><table class="bash"><thead><tr><td colspan="2" id="857602991"  class="head">Bash</td></tr></thead><tbody><tr class="li1"><td><div id="857602991" style="height: 350px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="de1"><pre class="de1"><span class="co0">#!/bin/sh</span>
&nbsp;
<span class="kw1">if</span> <span class="br0">&#91;</span> <span class="st0">&quot;$1&quot;</span> = <span class="st0">&quot;&quot;</span> <span class="br0">&#93;</span> <span class="sy0">||</span> <span class="br0">&#91;</span> <span class="st0">&quot;$1&quot;</span> = <span class="st0">&quot;--help&quot;</span> <span class="br0">&#93;</span> ; <span class="kw1">then</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;Переключатель нескольких ключей на bitbacket (home/work)&quot;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;Использование: $0 &quot;</span><span class="st0">&quot; [ключь]&quot;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">exit</span>;
&nbsp; &nbsp; <span class="kw1">else</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">nameKey</span>=<span class="st0">&quot;$1&quot;</span>
<span class="kw1">fi</span>
&nbsp;
<span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re1">$nameKey</span> = <span class="st0">&quot;work&quot;</span> <span class="br0">&#93;</span> ; <span class="kw1">then</span>
<span class="re2">oldKey</span>=<span class="st0">&quot;home&quot;</span>
<span class="kw1">else</span>
<span class="re2">oldKey</span>=<span class="st0">&quot;work&quot;</span>
<span class="kw1">fi</span>
&nbsp;
<span class="kw1">if</span> <span class="br0">&#91;</span> <span class="st0">&quot;<span class="es2">$nameKey</span>&quot;</span> <span class="sy0">!</span>= <span class="st0">&quot;work&quot;</span> <span class="br0">&#93;</span> <span class="sy0">&amp;&amp;</span> <span class="br0">&#91;</span> <span class="st0">&quot;<span class="es2">$nameKey</span>&quot;</span> <span class="sy0">!</span>= <span class="st0">&quot;home&quot;</span> <span class="br0">&#93;</span> ; <span class="kw1">then</span>
&nbsp; <span class="kw3">echo</span> <span class="st0">&quot;Возможные значения: home/work&quot;</span>
&nbsp; <span class="kw3">exit</span>;
<span class="kw1">fi</span>
&nbsp;
&nbsp;
<span class="kw2">perl</span> <span class="re5">-pi</span> <span class="re5">-e</span> <span class="st0">&quot;s/(id_rsa.<span class="es2">$oldKey</span>.bitbacket)/id_rsa.<span class="es2">$nameKey</span>.bitbacket/i&quot;</span> <span class="sy0">/</span>home<span class="sy0">/</span>keygen<span class="sy0">/</span>.ssh<span class="sy0">/</span>config</pre></td></tr></table></div></td></tr></tbody></table></div>Делаем так: Копируем скипт. Как хотите его обзываейте. Разрешайте ему исполнение (sudo chmod +x ./Ваше_название). И копируйте его в /bin (sudo cp ./Ваше_название /bin).<br />
<br />
Готово. Пользователи переключаются с консоли:<br />
<br />
Для work:<br />
<div class="codeblock"><table class="bash"><thead><tr><td colspan="2" id="40578822"  class="head">Bash</td></tr></thead><tbody><tr class="li1"><td><div id="40578822" style="height: 46px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
</pre></td><td class="de1"><pre class="de1">Ваше_название work</pre></td></tr></table></div></td></tr></tbody></table></div>Для home:<br />
<div class="codeblock"><table class="bash"><thead><tr><td colspan="2" id="837173416"  class="head">Bash</td></tr></thead><tbody><tr class="li1"><td><div id="837173416" style="height: 46px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
</pre></td><td class="de1"><pre class="de1">Ваше_название home</pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>KeyGen</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/191974/1419.html</guid>
		</item>
	</channel>
</rss>
