使用SecureCRT远程 SSH 登陆 CentOS 和 Ubuntu

1.CentOS下安装SSH

  使用下列命令查看当前系统是否已经安装 ssh 和 rsync。rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。

rpm –qa | grep openssh
rpm –qa | grep rsync

  如果没有显示,即没有安装,可以通过下面命令进行安装:

yum install ssh
yum install rsync
service sshd restart

2.Ubuntu下安装SSH

  使用下列命令安装 OpenSSH Server 和 OpenSSH Client:

sudo apt-get install openssh-server
sudo apt-get install openssh-client

  使用命令查看是否已启动SSH:

ps -e | grep ssh

  如果看到ssh-agent和sshd,则说明ssh-server已启动,否则使用下列命令启动:

sudo /etc/init.d/ssh start

3.配置SSH

  修改下列选项值为可用:(Ubuntu 和 CentOS ssh 配置文件位置为 /etc/ssh/sshd_config

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(Ubuntu为 %h/.ssh/authorized_keys )

  当然也可以自定义端口号之类。修改完成,保存退出,重启ssh服务使配置生效:

# CentOS
service sshd restart
# Ubuntu
sudo /etc/init.d/ssh restart

4.生成密钥对

  使用下列命令生成 rsa 密钥对,询问路径时按 Enter 保存到默认路径,密码为空(注意是两个单引号):

ssh-keygen –t rsa –P ''

  把生成的公钥 id_rsa.pub 追加到授权的key里面去:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys # 非常重要,权限不足会无法使用RSA功能

  验证是否成功配置(当有提示时输入 yes ):

ssh localhost

5.使用SecureCRT创建公钥

  选择Tools(工具) -> Create Public Key...(创建公钥)。在弹出的窗口中,Key type 选择 RSA;Passphrase(通行短语)就是类似口令,自己填一个,例如我填的是 hadoop。key length 即密钥长度,可以根据需要自己设定,默认1024就够了。最后保存的时候选择 Openssh 格式,Private Key 可以换一个其他的名字避免和其他的密钥冲突。

6.建立SSH连接

  这里以 CentOS 为例。首先将本地生成的公钥(.pub文件)上传到CentOS上。可以利用简单的FTP命令实现(可以查看这两篇文章:Windows命令行使用FTP 和 CentOS 6.5 安装配置VSFTP)。

  使用下列语句将上传的公钥追加到信任集合(authorized_keys)里面:

cat ~/Myself.pub >> ~/.ssh/authorized_keys #如果保存的时候是OpenSSH格式
ssh-keygen -i -f ~/Myself.pub >> ~/.ssh/authorized_keys #如果保存的时候是其他格式
chmod 600 ~/.ssh/authorized_keys

  之后打开SecureCRT,编辑或者新建Session,在Session编辑窗口,勾掉Password和GSSAPI,并点击右边箭头将这两项调到最下方位置。

然后选中该PublicKey,点击右边 "Properties..",在弹出的对话框中,选则刚才生成的公钥:

一路Ok,完成后Connect(连接),输入刚才自己制定的 Passphrase(通行短语)即可实现 SSH 无密码登陆。

posted @ 2013-12-08 22:22  whseay  阅读(1041)  评论(0编辑  收藏  举报