SSH相关
来源:互联网 发布:淘宝助理顺丰模板 编辑:程序博客网 时间:2024/05/19 03:21
配置ssh
之前要在本机上装上ssh,可以通过sudo apt-getinstallssh或者通过新立德来安装。如果没有进行配置的话,登录到本机或者远程主机需要该主机的密码才行。下面进行无密码登录的配置:
現在的 ssh 使用同樣的方法會出現錯誤訊息
解決方式 使用 ssh-add 指令将私钥 加进来(根据个人的密匙命名不同更改 id_rsa)
# ssh-add
ssh-add adds private key identities to theauthentication agent, ssh-agent(1). When run without arguments,it addsthe files ~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and ~/.ssh/identity. After loading a private key, ssh-add will try to load corresponding certificate information fromthe filename obtained by appending -cert.pub to thename ofthe private keyfile. Alternative file namescan be given onthe command line.
再通过ssh 主机名 就可以实现无密码登录了。
转http://www.cnblogs.com/dlutxm/archive/2011/10/14/2212019.htmlhttp://www.cnblogs.com/dlutxm/archive/2011/10/14/2212019.html
使用ssh-agent减少输入ssh私钥密码的次数
最近将一个git工程拆分成了很多个小的repository,以至于在更新一次repo的时候需要输入ssh私钥密码多达11次(= =|||),以前听说过ssh-agent这东西,然后说,那就试试看吧
启动ssh-agent
调用ssh-agent会打出诸如
$
ssh
-agent
SSH_AUTH_SOCK=
/tmp/ssh-iHsPBoPR2838/agent
.2838;
export
SSH_AUTH_SOCK;
SSH_AGENT_PID=2839;
export
SSH_AGENT_PID;
echo
Agent pid 2839;
这样的信息,可以看出这是几行bash命令(设置相关的环境变量),所以我们可以使用
eval
`
ssh
-agent`
将这几行bash运行起来。
使用ssh-add托管私钥
$
ssh
-add
# 添加缺省私钥
$
ssh
-add ~/.
ssh
/tydus_rsa
# 指定添加私钥
添加私钥的时候需要输入密码,ssh-add会将解密后的私钥安全地保存在ssh-agent的私钥空间。
添加之后再使用ssh系即可免密码使用私钥验证
$
ssh
vps
$
scp
vps:
/tmp/what/is/it
.
$ git clone vps:
/var/git/some/thing
关闭ssh-agent
同样,使用ssh-agent -k可以关闭当前的(SSH_AGENT_PID指定的)ssh-agent,相当于“注销”操作,在不安全的环境下非常有用。
$
eval
`
ssh
-agent -k`
在bashrc中添加自动脚本实现ssh-agent的daemonize
# Enable ssh-agent for ssh keys
if
[ -f ~/.agent.
env
];
then
. ~/.agent.
env
>
/dev/null
if
ps
x |
grep
-
v
grep
|
grep
-q $SSH_AGENT_PID ;
then
#echo "Stale agent file found. Spawning new agent..."
eval
`
ssh
-agent |
tee
~/.agent.
env
`
ssh
-add ~/.
ssh
/tydus_rsa
fi
else
#echo "Starting ssh-agent..."
eval
`
ssh
-agent |
tee
~/.agent.
env
`
ssh
-add ~/.
ssh
/tydus_rsa
fi
下面来解释一下:
~/.agent.env存放这次会话时可用的agent环境变量,供下个会话使用
第四行检测发现$SSH_AGENT_PID指向的进程不存在,那么就重新打开一个
然后向当前agent添加key,这里是~/.ssh/tydus_rsa
这样的话就可以只在第一次登录(或者当前agent失效,和sudo的机制类似)的时候输入密码了,是不是很方便> <
- ssh相关
- SSH相关
- ssh相关
- ssh相关
- SSH相关
- SSH相关
- SSH 相关
- SSH相关
- ssh相关
- ssh相关
- ssh相关用法
- ssh登录相关问题
- SSH相关问题
- SSH相关 权限打通
- SSH隧道相关
- ssh strict checking相关
- SSH 相关基础
- [Linux]ssh相关问题
- 数据存储加密技术的实现
- SpringMVC使用FileUpload进行文件上传
- c3p0连接池的关闭,以及局部变量是否置为null
- 命令提示符如何运行带包的java文件
- 前台架子
- SSH相关
- IOS 入门开发之使用XCODE4制作静态库详解
- 1000以内偶数和
- makefile 的编写 详细
- 第九周项目一(2)
- 使MySQL查询区分大小写的实现方法
- C++中typename和class的区别
- 打包api ios7错误编译
- 黑马程序员 Java学习总结之IO和网络