1、要知道ubunt系统默认是没有安装openSSH的,因此第一步就是在要安装openSSH,命令如下:
sudo apt-get install openssh-server
Ubuntu缺省安装了openssh-client,所以在这里就不用再安装了。
安装结束后,使用如下命令确认sshserver是否启动了:
ps -e | grep ssh
如果只有看到ssh-agent,那么说明ssh-server还没有启动,需要如下命令来启动ssh-server:
/etc/init.d/ssh start
如果看到sshd那说明ssh-server已经成功启动了。
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。
修改配置文件后,一定要重启SSH服务,命令如下:
sudo /etc/init.d/ssh restart
或者是命:
sudo service ssh restart
2、使用SecureCRT创建公钥和私钥,命令路径如下:
Quick Connect-> Authentiation -> Public Key -> Properties ->Create Identity File -> DSA/RSA -> Set Passphrase -> Done
具体操作命令时的部分截图如下:
a.启动Quick Connect对话框
b.单击上图中的Properties按钮,看到下图:
c.单击上图中create Identity File按钮,根据提示信息可以依次看到下面的截图
在这一步选择DSA或者RSA均可,我测试发现ubuntu中的openssh-server是对两个都支持的。
在这里输入用户口令即可,这个口令在后面的登录中会用到。
在这里选择OpenSSH Key Format,这样将公钥放到linux中时就不需要进行格式转换了,这是新版SecureCRT的特性,说明它已经可以更好的支持SSH访问了。
下面的路径表示私钥的保存路径,点击完成按钮生成的公钥会出现在私钥所在的文件夹。
默认会生成名为Identity的私钥和名为Identity.pub的公钥。
d.单击完成后会返回这里,这是SecureCRT已经选择好了使用刚才生成的私钥。单击OK按钮即可。
3、使用某种方法(samba、ftp等)将刚才生成的公钥文件Identity.pub上传到linux系统中。
4、在要登录的用户(设定其为michael)的home目录下建立文件夹.ssh并设定其访问权限,命令如下:
mkdir /home/michael/.ssh
chmod 700 /home/michael/.ssh
5、因为我们用SecureCRT生成的就是openSSH格式的公钥文件,所以不需要进行格式转换了。
直接将Identity.pub拷贝到.ssh目录下即可,不过需要对其进行改名操作。
a.如果SecureCRT使用的是SSH1访问方式,那么将Identity.pub文件改名为authorized_keys, 命令如下:
mv Identity.pub authorized_keys
b.如果SecureCRT使用的是SSH2访问方式,那么将Identity.pub文件改名为authorized_keys2, 命令如下:
mv Identity.pub authorized_keys2
6、修改公钥文件的访问权限,命令如下:
chmod 644 /home/michael/.ssh/authorized_keys2
7、至此,服务器端设置完毕,现在可以用SecureCRT的RSA验证方式来连接ssh服务器端。在连接过程中,会要求输入前面设定的口令。
8、如果想仅适用RSA公私钥认证的方式来登录,那么可以通过更改配置文件/etc/ssh/sshd_config来实现。
注:本文参考了网上的诸多文章,不一一列出,在此一并感谢。