linux下简单SSH登录配置

来源:互联网 发布:java注解value值不合法 编辑:程序博客网 时间:2024/05/02 06:10

几台linux机器需要通过网络互相能访问文件系统,最简单的方式就是使用ssh,即Secure Shell

 

首先,如果没有安装,那么就在命令行里apt-get install ssh

安好后,其实就可以登录开启了ssh服务的机器了

 

开启ssh服务的命令为: sudo /etc/init.d/sshd restart (生成公私密钥对)

查看ssh状态命令: sudo /etc/init.d/sshd status


如果是没有启动sshd守护进程,那么只需要:sudo /usr/sbin/sshd (不需要每次做)

 

登录时候,输命令:ssh (对方ip) -l (对方机器上有的用户名) -p (端口号)

 

其中,参数-l -p都不必须。如果当前用户名和想要登录的对方机器上的用户同名,那就不需要-l参数,端口默认都是22通常也不用设。

 

这样连接成功后会向你询问密码,输入对方机器用户的密码后即可登录到该用户的home目录。


如果想用无密码登录,可以使用生成ssh-keygen命令生成公私秘钥对。具体命令为:ssh-keygen -t dsa

然后都回车使用用默认文件名即可。

命令会在 home 目录下的隐藏目录 .ssh 下生成id_dsa 和 id_dsa.pub 两个文件。其中的.ssh目录权限必须为700,私钥id_dsa权限必须为600,即对他人不可读写。否则登录时这个秘钥就会失效。

将生成好的id_dsa.pub重命名为authorized_keys,并放到要登录机器的用户的home下的 .ssh 目录中。

这样,可以免密码而用公私钥验证来登录对方了。

 

我这的需求是三台机器要互相都可以访问。所以我的解决方案是,其中一个机器生成的,公私钥对儿,以及公钥改名而来的authorized_keys,这三个文件复制到每一台机器上的~/.ssh/ 下。这样操作比较简便,但可能不够正规。

由于私钥被传播了,所以,要注意把.ssh权限改为700,id_dsa权限改为600。还得注意一下所有者是不是自己。

 

更改权限命令:sudo chmod 600 id_dsa

更改所有者命令:sudo chown username:groupname filename

 

如果要按照规范来,那就要把其他所有主机生成的pub的内容导入到被登录主机的authorized_keys中(追加)

原创粉丝点击