如何在Debian Etch上使用公钥验证设置SSH

如何在Debian Etch上使用公钥认证设置SSH

初步说明

这个小技巧解释了如何使用公共密钥授权(以及可选的禁用密码登录)在Debian Etch上设置SSH服务器。 SSH是一种用于远程控制基于Linux的计算机的好工具。 它安全可靠。

没有保证,它将适用于您。 所有这些设置都适用于Debian系统! 其他系统也可能略有变化。

在服务器上安装SSH

首先,我们在我们的服务器上安装SSH。 我们可以用这个命令:(请注意,你必须是root才能这样做!)

apt-get install ssh

我们的客户(桌面)系统的准备工作

其次,我们在台式机上做了一些准备。 该PC将用于连接服务器。 因此,SSH服务器已经安装在不同的机器上。 在台式机上,我们安装ssh客户端(我们用来连接服务器)。 请注意,安装程序需要root权限! 如果您没有以root身份登录,请登录! ( su root然后键入您的密码。)然后安装客户端:

apt-get install openssh-client

切换回普通用户(分别不是root用户)。 然后按顺序键入以下命令:

mkdir ~/.ssh
chmod 700 ~/.ssh
cd ~/.ssh

我们生成我们的密钥对,一个公钥和一个私钥。 公钥将被放置在服务器上,您将使用您的私钥登录。 当被问及时,输入您的密码(这将是未来登录所需的,请记住!):

ssh-keygen -t rsa -C "A comment... usually an email is enough here..."

然后我们将公钥(我们之前生成的)复制到我们的(远程)服务器。 远程用户不应该是root的 ! 选择默认的非root用户作为远程用户。 (注意行尾的冒号!这很重要。)

scp -p id_rsa.pub remoteuser@remotehost:

然后我们用SSH登录,我们将公钥复制到正确的地方:

ssh remoteuser@remotehost
mkdir ~/.ssh
chmod 700 ~/.ssh
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
mv id_rsa.pub ~/.ssh
logout

我们必须删除桌面上的公用密钥,否则SSH客户端不允许我们登录到服务器。 因此,键入以下命令:

rm id_rsa.pub

然后我们回来:

ssh remoteuser@remotehost

如果我们已经完成了上面所述的一切,那么你将被要求输入密码。 键入它,然后你进入并具有相当安全的SSH环境!

禁用密码验证

禁用它是一个更安全的SSH安装的好方法。 那么您只能使用密钥对登录,所以请小心不要丢失! 它纯粹是可选的,但安全可以激活! 但是在做到这一点之前,请确保基于密钥的身份验证正在开箱即用。 坐在服务器前面(所以不要远程登录,因为我们必须稍后重新启动SSH),并以root身份手动键入这些命令:

cd /etc/ssh
cp sshd_config sshd_config.orig
nano sshd_config

您将使用主SSH配置文件打开屏幕上的nano文本编辑器。 更改这些行(如果这些行中的任何一行在开头有一个'#'标记(如果有的话)也只是删除哈希标记):

PermitRootLogin		yes
PasswordAuthentication	yes
UsePAM			yes

对于这些:

PermitRootLogin		no
PasswordAuthentication	no
UsePAM			no

然后使用Ctrl + O保存文件,并重新启动SSH服务器:

/etc/init.d/ssh restart

小心:如果您禁用密码验证,则无法使用密码登录! 只有基于密钥的身份验证将可用!

有用链接:

http://www.openssh.org
http://en.wikipedia.org/wiki/Secure_Shell

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏