SSH学习之三 SSH与SCP无密码登录
通常情况下,每次使用ssh登录或使用scp复制远程系统的文件时,都需要提供密码,然后才能做进一步的处理。为了省略输入密码这一步骤,有时可以采用Shell脚本的方法解决,但这需要把手工输入的密码以明码形式放在脚本文件中。
利用密钥配置文件,OpenSSH可以是ssh远程登录与scp文件复制的操作过程中省略密码验证的中间环节。为此,ssh客户端首先应建立OpenSSH连接,然后自动地想服务器发送其公钥。之后,服务器即可根据相应用户主目录中预定义的密钥列表,对收到的密钥进行比较。如果存在匹配的密钥,服务器将会允许ssh或sco自动登录。
密钥文件需要单独生成,生成后的密钥文件存储在服务器用户主目录的~/.ssh子目录中。其中,id_rsa和id_rsa.pub文件分别是私玥和公钥,而authorized_keys文件则用于存储所有授权的远程客户系统的公钥,使得远程客户系统能够以此用户的身份登录到本地系统而无需提供密码。
为了实现ssh和scp的无密码登录,需要事先生成并安装远程登录与数据传输的密钥,其唯一的限制是需要把密钥绑定到两个系统的IP地址上。然后,服务器即可使用预安装的密钥,对每一次的远程登录和文件传输进行验证。但是,这以功能不适合于利用DCHP协议动态分配IP地址,致使IP地址经常发送变化的情况。
由于只需知道用户名即可实现远程注册和文件传输,而无需提供密码,这一功能是有安全风险的。因此,在具体实现时,在服务器与客户端之间最好采用普通用户账号,以免造成较大的破坏。
下面以webgod用户为例,详细说明在实现ssh和scp的无密码登录之前,OpenSSH的客户端与服务器双方事先都需要做哪些
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
