一.首先编写脚本,主要是用作提示,免去很多繁琐的查找输入过程。
脚本目录如下:
1.myssh.sh是我们登录的脚本,用自定义的主机名称来登录,用法 sh myssh.sh hostname
2.ssh.ini是各个主机的配置文件,需要如下配置:
主机名:密码:账户:主机名:备注
我的配置如下:
3.update是一个更新myssh.sh的脚本,每当更改ssh.ini配置的时候需要运行update脚本来重新生成myssh.sh
4.其他文件不可删除。。。
二.这样完成之后每次运行myssh.sh脚本就可以了。为了更简便,我在外面做了一个软连接myssh,这样,每次只需要myssh hostname就可以了。
步骤如下:
1.先建一个目录,作为你自己的脚本库,把它加入到环境变量中,这样你就可以在任何目录下使用这个脚本库中的脚本了。
cd ~/
mkdir shell
touch .bash_profile
vi .bash_profile
编辑该文件,如果这个文件已经存在内容,不用我多说,你懂的,不要覆盖,把你的目录写到后面,用冒号分隔开。这里我的目录是~/shell/
export PATH=${PATH}:~/shell
source .bash_profile
cd shell
ln -s ssh/myssh.sh myssh
完成,值得注意一下,你的脚本需要有执行的权限,不然会报错。
chmod 700 myssh
三.虽然有了这个脚本,每次都会提示出密码。但是为了方便每次登录过程需要做ssh认证。
1. 在本机生成ssh 公钥和密钥
ssh-keygen -t rsa
2. 把生成的公钥内容拷贝到远程服务器的~/.ssh/authorized_keys中,注意这里拷贝是追加到文件中,不要覆盖别人的公钥。
scp id_rsa.pub root@hostname:~/.ssh/
然后登录到这个服务器把刚才上传的公钥追加到authorized_keys文件中。
cd ~/
cat id_ras.pub>>authorized_keys
注意这个authorized_keys文件,如果是你刚生成的,需要设置本用户以外的用户没有可写权限。
chmod 700 authorized_keys
好了,到此为止,所有的工作就搞定了。。。