OpenSSHpen Secure Shell,一般用于管理远程主机: 它的服务器进程为sshd,配置文件为/etc/ssh/sshd_config 在服务器上安装服务套件:#apt-get install openssh-server (远程)客户端套件的安装:#apt-get install openssh-client(可选,如果远程机为linux,则安装,windows下可使用putty,xshell作为ssh客户端) 配置: 先备份 #cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original # chmod a-w /etc/ssh/sshd_config 一般常用的修改项: 监听端口修改Port 22改为Port 2222或者你想要的端口,防止暴力破解。 修改登录时长: LoginGraceTime 120改为LoginGraceTime 20防止暴力破解 进一步增强安全性:禁止使用密码登录,而是使用公钥登录: #PasswordAuthentication yes 改为:PasswordAuthentication no 允许或拒绝用户和用户组登录: AllowUsers 'jhendrix svaughan' DenyUsers 'wgates sballmer' AllowGroups sshlogin 修改登录前未授权警告: 取消注释#Banner /etc/issue.net.编辑该/etc/issue.net文件添加未授权警告信息。 重启服务是改动生效:service ssh restart 生成密码免密码登录: ssh-keygen -t dsa 分为DSA与RSA密钥,同时可以指定密钥长度:默认为2048,我也可以这样 ssh-keygen -t rsa -b 4096 这样会生成密钥对: ~/.ssh/id_dsa.pub, 和~/.ssh/id_dsa is the private key. 然后我们需要将公钥发送给远程客户端。 远程客户端将id_dsa.pub中的内容添加到: ~/.ssh/authorized_keys中即可。 我们可以使用这个命令一步完成:ssh-copy-id username@remotehost 也可以手动完成。 cp authorized_keys authorized_keys_Backup cat id_rsa.pub >> authorized_keys 之后我们需要确保权限的正确性: chmod 600 .ssh/authorized_keys 释惑:我们注意观察会发现sshd_config文件中有这样一段:HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_rsa_key.pub ... 那么这个ssh_host_rsa_key及ssh_host_rsa_key.pub是什么呢?其实它是主机密钥对,用于标识主机的,这是安装openssh-server是自动生成的。一般我们无须修改。 但是有个这个之后我们是否还需要用户的自己的密钥对吗?当然需要,我们还得按照上面的步骤生成自己的密钥对。 客户端登录: 对于linux: apt-get install openssh-client ssh <username>@<computer name or IP address> ssh mike@192.168.1.1 对于windows:1.使用Putty 2.使用cygwin:
|