Answers:
您只需要在svn
命令中提供另一个系统的用户名:
$ svn co svn+ssh://otheruser@othersystem/path/to/repo
也要回答您的问题的标题:
$ ssh otheruser@othersystem
这将导致sshd
远程计算机上查找~otheruser/.ssh/authorized_keys
与您要在其上键入命令的计算机上的私钥相对应的公钥。
id_rsa.pub
到authorized_keys
远程系统上即可。会的
有两种方法可以做到这一点:
1)将user @放入svn网址中;这告诉svn + ssh以该用户身份登录。从维护的角度来看,我认为这是个坏主意,因为指向存储库其他部分的外部组件等无法正常工作。
2)制作一个〜/ .ssh / config(记录为ssh_config),内容如下:
Host othersystem
User otheruser
这样,任何尝试ssh到othersystem的尝试将默认为使用otheruser。手动执行ssh以及使用svn时,这对您很方便。
您不必在两个mashine上都使用相同的用户名。只要您生成密钥(ssh-keygen
),就必须从本地服务器复制~/.ssh/id_rsa.pub
或~/.ssh/id_dsa.pub
(取决于密钥类型)从本地服务器复制行,并将其附加到~/.ssh/authorized_keys
远程服务器上。
% ssh-keygen
% cat ~/.ssh/id_*.pub | ssh remoteuser@remoteserver 'cat > .ssh/authorized_keys'
如果您不想remoteuser
每次输入,请附加到~/.ssh/config
:
Host remoteserver
User remoteuser
PS。键的名称可以采用的形式,localuser@localhost
但仅是名称。情况可能一样好myfavouritekey@myfavouritecomputer
,没有人会在意。
ssh-copy-id
上面提到的常见但非标准脚本的核心。我认识到这一点是因为并非我使用的所有系统都附带了ssh-copy-id
,所以我多次键入类似的内容。:)
ssh-copy-id
。我通常使用vim
或seahorse
;)
创建.ssh / config并运行后:
cat ~/.ssh/id_*.pub | ssh remoteuser@remoteserver 'cat > .ssh/authorized_keys'
我收到错误消息:
Bad owner or permissions on /usr/share/eprints3/.ssh/config
然后我添加chmod 600 .ssh/config
,然后运行平稳。
enter code here
.ssh/id_rsa.pub
,然后将其上传到远程服务器。完成后,它以localusername @ localsystem结尾。应该将其更改为remoteusername @ remotesystem,对吗?本地还是远程?