ssh-agent+keychain + script

简介: 使用ssh-agent和keychain来简化ssh登录 转载:http://blog.sina.com.cn/s/blog_3f3422fd0100002i.


使用ssh-agent和keychain来简化ssh登录

转载:http://blog.sina.com.cn/s/blog_3f3422fd0100002i.html
设置从local机器用ssh不用密码登陆到remote

生成密钥

1. 生成密钥,使用dsa加密方式(也可以用rsa),长度为2048,默认长度为1024
[local]: ssh-keygen -t dsa -b 2048
Enter file in which to save the key (/home/linux/.ssh/id_dsa): #(私钥存放路径)
Enter passphrase (empty for no passphrase): # 密钥
Enter same passphrase again:

2. 将公钥id_dsa.pub放到remote机器的~/.ssh/authorized_keys 文件中,
[remote]: cat id_dsa.pub >> .ssh/authorized_keys

3. 修改authorized_keys文件的权限为 600
[remote]: chmod 600 .ssh/authorized_keys

使用ssh-agent

1. ssh-agent代理
eval `ssh-agent` # 两个反引号

2. 添加ssh-add
ssh-add
Enter passphrase for /home/linux/.ssh/id_dsa: #(输入密码)

这种方法,要求每次登录,都必须重复上面两步操作。

使用keychain

1. 在local机器上以root身份安装keychain,并修改 .bash_profile文件,添加下面两行
keychain id_dsa
. ~/.keychain/$HOSTNAME-sh

这种方法,每次登录,只需要输入密码。

如果嫌麻烦,生成密钥的时候,按回车,不输入密码。但安全性大打折扣。

参考文档:
http://www.gentoo.org/proj/en/keychain/index.xml
http://www-900.ibm.com/developerWorks/cn/linux/security/openssh/part1/index.shtml#top
http://www-900.ibm.com/developerWorks/cn/linux/security/openssh/part2/index.shtml#top


转载:https://linux.cn/article-3195-1.html

当你在终端或者控制台工作时,你可能想要记录在终端中所做的一切。这些记录可以用来当作史 料,保存终端所发生的一切。比如说,你和一些Linux管理员们同时管理着相同的机器,或者你让某人远程登陆到了你的服务器上,你可能记录想要终端里发生 的一切。要实现这个目标,你可以使用script命令。

script是什么

scirpt就是一个命令,可以制作一份记录输出到终端的记录。对于那些想要真实记录终端会话的人来说,这很有用。该记录可以保存并在以后再打印出来。

怎么用

默认情况下,我们可以通过在终端中输入script来启动scirpt命令。


			
pungki@dev-machine:~$ script Script started, file is typescript pungki@dev-machine:~$

你也可以指定目标文件名来记录打印结果。


			
pungki@dev-machine:~$ script myfile

Define . file

Define script file

当你再次见到命令提示符,这意味着终端将记录打印到终端的任何东西。

你会看到当前目录,有个名为myscript的文件。(LCTT译注,此处原文有误。这里指定了记录文件名为myfile,而不是默认的 typescript。)

为什么我们要用script命令

因为在之前已经提到过,script命令的主要功能是记录所有的东西。下面给出了两个使用该命令的场景。

和同事共事时

当和同事一起工作时,我们可以通过script来记录你的活动。

比如,我们会使用名为collaborate的打印文件,来完成打印:


			
$ script collaborate

Create collaborate file

Create collaborate file

然后,在完成一些任务后,假如你需要把你干的活发给另外一个工程师,那就把那文件发给他。所以当另外一个工程师需要复查所做的事情,他只要用文本编辑器打开这个文件就行了。

如果他想要更新该文件(以增加他的工作部分),可以使用-a选项。


			
$ script -a collaborate

Append the file

Append the file

记录某人在终端中的所作所为

你可能让你的工程师或者某个人远程访问你的系统,要确保你的工程师正在干正确的事,你可以记录下他在你系统上的所作所为。要让script命令在登录时自动运行,我们可以把它添加进shell环境配置文件中。如果你正在使用bash shell,把这一行加进你的bash环境配置文件中。


			
$ vi ~/.profile   # run the script command to record everything # use -q for quite and -a option to append the script # /usr/bin/script -qa /usr/local/script/log_record_script

Add . to bash profile

Add script to bash profile

然后保存。下次他登录进你的系统时,script命令就会自动运行,并把日志记录进/usr/local/script/logrecordscript

. without notification

Script without notification

-q选项可以让scirpt命令以静默模式运行,登录进来的用户不会知道script命令已经运行了。而-a选项将会让记录附加到文件中,而不会擦除先前的记录。

如果不使用-q选项,那么当用户登录进来时,他会收到像下图中这样的通知。

. with notification

Script with notification

退出记录

要退出记录活动,我们可以在终端中按下Ctrl+D,或者输入exit。在退出script前,你会发现记录文件的大小为0 Kb,而在退出之后,文件大小会发生改变。

结尾

Script命令在你需要记录或者存档终端活动时可能很有用,记录文件会存储为文本文件,所以可以很方便地用文本编辑器打开。跟平常一样,我们都可以通过输入man script或者scirpt -h来显示帮助页并查看更多详细用法。

via:

译者: 校对:

本文由 原创翻译, 荣誉推出

目录
相关文章
|
存储 网络安全 开发工具
Git如何生成多个ssh key添加到ssh-agent管理项目
生成新的ssh密钥 ssh-keygen -t rsa -b 4096 -C "your@example.com" 不要一直回车键,输入新的名称 id_rsa_new Enter a file in which to save the key (/Users/you/.
2894 0
Git如何生成多个ssh key添加到ssh-agent管理项目
|
Shell 网络安全 数据安全/隐私保护
使用 ssh-agent,实现多台机器 ssh 免密码登陆
使用 ssh-agent,实现多台机器 ssh 免密码登陆
655 0
|
网络安全
将ssh key添加到ssh-agent使用命令ssh-add ~/.ssh/id_rsa结果报错
将ssh key添加到ssh-agent使用命令ssh-add ~/.ssh/id_rsa结果报错 Error connecting to agent: No such file or directory 开启ssh-agent:ssh-agent 报错: unable to start ssh-...
9147 0
|
Shell 网络安全 数据安全/隐私保护
|
网络安全
|
网络安全 Linux 数据安全/隐私保护
不能成功配置ssh信任,提示Agent admitted failure to sign using the key.
不能成功配置ssh信任,提示Agent admitted failure to sign using the key. 问题现象:      做完信任之后要需要输密码: [grid@db01 .
1508 0
|
网络安全 数据安全/隐私保护
SSH无密码登陆Agent admitted failure to sign using the key
A :CentOS_Master B:Slave_1 C:Slave_2 普通用户hxsyl 1.现在A 上 ssh-keygen -t rsa 一路回车,不需要输入密码 执行该操作将在/home/hxsyl/.
969 0