都是用 SecureCRT 进行 ssh 登录,有的版本每次都要输入密码,有的就不用。

sshd 连接注意:
1    默认启用公钥认证及密码认证(Secure Shell Client 登录不了,用 SecureCRT 5.0 没问题)
2    不允许 root 登录(必须先建立一个用户,而且是 wheel 组的,登录后再 su 到 root)

在线更改 SSHD 默认端口:
vi /etc/ssh/sshd_config
/etc/rc.d/sshd restart
做这一步的目的,就是把默认的 22 端口改成其他的,可以减少被攻击的可能性。

使用 SSH PUBLIC KEY

假设用户名是 leakon

方法一(由 FreeBSD 生成密钥对)

1 在FreeBSD中执行
ssh-keygen -t dsa

可得到
/home/leakon/.ssh/id_dsa
/home/leakon/.ssh/id_dsa.pub

2 可以用 WinSCP 下载这个两个文件到本地,保存到
C:\Documents and Settings\leakon\Application Data\VanDyke\

这是 SecureCRT 在 Windows 的 leakon 用户的程序数据文件夹中生成的目录

3 打开会话选项,在 分类 中选择 SSH2,在右边的 身份验证 中选择 公钥(PublicKey),然后点击旁边的 属性(Properites),选择 使用会话公钥设置(Use session public key setting),在 使用身份文件(Use identify file) 的输入框中,选择刚才下载回来的 id_dsa,注意,id_dsa 和 id_dsa.pub 要保存在一起(两个文件取名任意,但必须符合 somekey 和 somekey.pub)

4 按照 /etc/ssh/sshd_config 中指定的公钥文件名 AuthorizedKeysFile .ssh/authorized_keys,修改本地公钥文件名,在FreeBSD中执行
cd /home/leakon/.ssh/
mv id_dsa.pub authorized_keys

至此,方法一大功告成,重新用 SecureCRT 连接一下试试,直接就登录好了吧!

方法二(由SecureCRT生成密钥对)

1 设置好用户名后,用刚才方法一的第 3 步,打开那个对话框,这个时候,要单击 创建身份文件(Create Identify File),然后下一步,选择 DSA,生成 Identity 和 Identity.pub 两个文件

2 把 Identity.pub 上传到 FreeBSD 的 /home/leakon/.ssh 目录下

3 在 FreeBSD 中执行
ssh-keygen -X -f Identity.pub > authorized_keys

取消sshd密码认证方式

vi /etc/ssh/sshd_config
PasswordAuthentication no
/etc/rc.d/sshd restart