1.openssh安装
openssh是一个开源的SSH程序,包括服务端和客户端
下载地址:http://www.openssh.com/
openssh依赖openssl
下载地址:http://www.openssl.org/
下载地址:http://www.openssl.org/
首先编译、安装openssl
tar -zxvf openssl.tar.gz
mkdir /usr/local/openssl
mkdir /usr/local/openssl
cd openssl
./configure --prefix=/usr/local/openssl
make
make install
make
make install
然后编译、安装openssh,安装步骤一样,不再多说。
2.配置
服务端sshd配置:sshd_config文件中设置具体的配置项
启动:服务端使用绝对路径如:/usr/local/sbin/sshd,客户端是 ssh ,密钥生成程序是 ssh-keygen
3.登录与验证
3.1 基于账号和口令的验证方式:
sshd服务端开启后,执行客户端 ssh 账号@服务端IP地址
会提示输入密码,直接输入就可以登录成功
sshd服务端开启后,执行客户端 ssh 账号@服务端IP地址
会提示输入密码,直接输入就可以登录成功
3.2 基于公钥和私钥的验证方式:
3.2.1生产秘钥,方式可以rsa,也可以选dsa
《RSA SSH1》
使用ssh-keygen生成RSA密钥对, 命令行为 ssh-keygen -t rsa
然后会在本账号的目录下创建 .ssh 目录,,然后生成 id_rsa和 id_rsa.pub
使用ssh-keygen生成RSA密钥对, 命令行为 ssh-keygen -t rsa
然后会在本账号的目录下创建 .ssh 目录,,然后生成 id_rsa和 id_rsa.pub
《DSA SSH2》
使用ssh-keygen生成DSA密钥对, 命令行为 ssh-keygen -t dsa
然后会在本账号的目录下创建 .ssh 目录,,然后生成 id_dsa和 id_dsa.pub
使用ssh-keygen生成DSA密钥对, 命令行为 ssh-keygen -t dsa
然后会在本账号的目录下创建 .ssh 目录,,然后生成 id_dsa和 id_dsa.pub
3.2.2 公开自己的公钥
将id_dsa.pub放到服务端的将要登录的那个账号的 .ssh目录下,如果没有.ssh目录,手动创建它,再创建一个名称为authorized_keys文件,将id_dsa.pub的内容追加到authorized_keys文件后面。
cat >> authorized_keys < id_dsa.pub
实际上sshd程序是从authorized_keys文件中遍历所有的公钥,直到找到一个匹配的公钥为止。
注意修改目录(~/.ssh)的权限为 755和文件(~/.ssh/authorized_keys)的权限为644,否则会导致客户端认证不成功。
cat >> authorized_keys < id_dsa.pub
实际上sshd程序是从authorized_keys文件中遍历所有的公钥,直到找到一个匹配的公钥为止。
注意修改目录(~/.ssh)的权限为 755和文件(~/.ssh/authorized_keys)的权限为644,否则会导致客户端认证不成功。
3.2.3 登录
客户端命令行为 ssh -2 -i ~/.ssh/id_dsa 账号@服务端IP地址
或者ssh -1 -i ~/.ssh/id_rsa 账号@服务端IP地址
(~:代表Ubuntu下当前用户目录)