点评:SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。SSH有两个版本,我们现在介绍的是版本2。 一、安装SSH 具体步骤如下: 获得SSH软件包。 (
ftp://ftp.pku.SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。SSH有两个版本,我们现在介绍的是版本2。
一、安装SSH
具体步骤如下:
成为超级用户(root).
# gzip –cd ssh-2.3.0.tar.gz |tar xvf –
# cd ssh-2.3.0
# ./configure
注意,如果你希望用tcp_wrappers来控制SSH,那么在configure时需要加上选项“--with-libwrap=/path/to/libwrap/”, 用来告诉SSH关于libwrap.a 和tcpd.h的位置。
# make
# make install
和SSH有关的程序都放置在/usr/local/bin下,包括ssh,sftp,sshd2, ssh-keygen等。
二、配置
SSH的配置文件在/etc/ssh2下,其中包括sshd2的主机公钥和私钥:hostkey和hostkey.pub。这两个文件通常是在安装SSH时自动生成的。你可以通过下面的命令重新来生成它们:
# rm /etc/ssh2/hostkey*
# ssh-keygen2 –P /etc/ssh2/hostkey
而ssh2_config 文件一般情形下无需修改。
三、启动sshd2
每个要使用SSH的系统都必须在后台运行sshd2。用手工启动:
# /usr/local/bin/sshd2&
可以在“/etc/rc2.d/S99local”中加入该命令,这样系统每次启动时会自动启动sshd2。
四、用tcp_wrappers控制SSH
安装SSH的站点可以用tcp_wrappers来限制哪些IP地址可以通过ssh来访问自己。比如,在/etc/hosts.allow中加入
sshd,sshd2: 10.0.0.1
那么只有10.0.0.1可以通过ssh来访问该主机。
以上都是系统管理员完成的工作。下面我们说说普通用户如何使用SSH。
五、基本应用
每个用户在使用SSH之前,都要完成以下步骤:
在本地主机(比如,local.pku.edu.cn)上生成自己的ssh公钥和私钥。命令如下:
local# ssh-keygen
Generating 1024-bit dsa key pair
1 oOo.oOo.o
Key generated.
1024-bit dsa,
teng@ns, Fri Oct 20 2000 17:27:05
Passphrase :************ /*在此输入你的口令,以后访问这台主机时要用。
Again :************ /*
Private key saved to /home1/teng/.ssh2/id_dsa_1024_a
Public key saved to /home1/teng/.ssh2/id_dsa_1024_a.pub
生成的私钥和公钥(id_dsa_1024_a和id_dsa_1024_a.pub)存放在你家目录的~/.ssh2目录下。和用户相关的SSH配置文件都在~/.ssh2下。私钥由用户保存在本地主机上,而公钥需传送到远地主机的你自己的账号的~/.ssh2下,如果你要用ssh2访问本地主机的话。
在~/.ssh2下创建“identification”文件用来说明进行身份认证的私钥。命令如下:
local:~/.ssh2# echo "IdKey id_dsa_1024_a" > identification
3.同样地,在远地主机(比如,remote.pku.edu.cn)上完成上面步骤。
4.将本地(local.pku.edu.cn)下你自己(这里是“teng”)的公钥(id_dsa_1024_a.pub)拷贝到远地主机(remote.pku.edu.cn)上你自己家目录下的.ssh2目录下,可命名为“local.pub”,一般用ftp上传即可。
在远地主机上,你自己家目录的.ssh2目录下,创建“authorization”文件,其中指定用来进行身份认证的公钥文件。命令如下:
remote:~/.ssh2# echo “Key local.pub” > authorization
现在你可以从本地用ssh2登录到远地系统了。命令如下:
local# ssh remote.pku.edu.cn
Passphrase for key "/home1/teng/.ssh2/id_dsa_1024_a" with comment "1024-bit dsa,
teng@ns, Fri Oct 20 2000 17:27:05":***********
这时会要你输入你的ssh口令(Passphrase)。验证通过后,即登录到remote主机上。
1.1.1.1 配置SSH认证服务
为了实现在一台机器执行脚本能自动调用其他机器的脚本的功能,需要在各服务器上配置SSH的认证服务。如以在10.17.91.185服务器上重启10.17.91.180机器tomcat为例。
注意:同时需要保证各机器之间的机器名不能重复。可以使用 vi /etc/ HOSTNAME编辑主机名,重启系统后生效。
1. 生成密钥文件
以root用户登陆10.17.91.185和10.17.91.180机器,均执行如下操作
#cd /root
#ssh-keygen -t rsa
以后界面出现下面的内容:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #直接回车
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #直接回车
Enter same passphrase again: #直接回车
#cd .ssh
#cp id_rsa authorized_keys
2. 上传公钥文件
以root用户登陆10.17.91.185机器,将第一步生成的公钥文件id_rsa.pub使用下面的命令上传到10.17.91.180机器/root/.ssh目录下,重命名为authorized_keys_op。
#scp -r id_rsa.pub root@10.17.91.180:/root/.ssh/authorized_keys_op
根据界面提示输入yes及10.17.91.180机器的root用户密码
3. 将公钥文件合入root密钥文件
以root用户登陆10.17.91.180机器,将第二步上传的公钥添加到本地root用户密钥文件
#cd root/.ssh
#cat authorized_keys_op >> authorized_keys
4. 验证远程调用
以root在10.17.91.185/root/switch/目录下编写test.sh脚本,脚本内容如下:
#!/usr/bin/ksh
ssh 10.17.91.180 '/etc/init.d/tomcat restart' &
exit
然后在10.17.91.185机器执行此./test.sh脚本,将会重启10.17.91.180机器的tomcat服务。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。