Решением было бы принудительно сохранить файлы ключей, добавив их в файл ~/.ssh/config
:
IdentityFile ~/.ssh/gitHubKey
IdentityFile ~/.ssh/id_rsa_buhlServer
Если у вас нет файла «config» в ~ / .ssh, тогда вы должны его создать. Ему не нужны права root, поэтому просто:
nano ~/.ssh/config
... и введите строки выше в соответствии с вашими требованиями.
Чтобы это работало, файл должен иметь команду chmod 600. Вы можете использовать команду chmod 600 ~/.ssh/config
.
Если вы хотите, чтобы все пользователи компьютера использовали ключ, поместите эти строки в /etc/ssh/ssh_config
, а ключ - в папку, доступную для всех.
Кроме того, если вы хотите установить ключ, специфичный для одного хоста, вы можете сделать следующее в ~ / .ssh / config:
Host github.com
User git
IdentityFile ~/.ssh/githubKey
Это имеет преимущество, когда у вас много идентификаторов, что Сервер не отклоняет вас, потому что вы сначала попробовали неверные идентификационные данные. Будет проверена только конкретная личность.
Если вам нужны данные в столбцах, вот что я использую:
create FUNCTION [dbo].[fncTableFromCommaString] (@strList varchar(8000))
RETURNS @retTable Table (intValue int) AS
BEGIN
DECLARE @intPos tinyint
WHILE CHARINDEX(',',@strList) > 0
BEGIN
SET @intPos=CHARINDEX(',',@strList)
INSERT INTO @retTable (intValue) values (CONVERT(int, LEFT(@strList,@intPos-1)))
SET @strList = RIGHT(@strList, LEN(@strList)-@intPos)
END
IF LEN(@strList)>0
INSERT INTO @retTable (intValue) values (CONVERT(int, @strList))
RETURN
END
Просто замените ',' в функции вашим разделителем (или, возможно, даже параметризуйте его)
Функция PatIndex должна предоставить вам местоположение шаблона как часть строки.
PATINDEX ( '%pattern%' , expression )