linux ssh远程登录
概念
- ssh客户端,用户客户端连接服务器
- sshd服务端,用户开启ssh连接服务
安装ssh 和sshd (服务端是ubuntu系统)
- linux系统默认没有安装ssh,通过
$ ssh localhost
查看是否安装ssh服务
- 出现上图的
ssh: connect to host localhost port 22: Connection refused
说明没有安装 - 通过
sudo apt-get install openssh-server
安装ssh-server
启动ssh服务
- 通过
sudo service ssh start
启动sshd
sudo ssh-keygen -A
- 再次启动
- 启动完毕,通过
ssh localhost
查看启动情况
- 到此服务端ssh服务已经启动完毕
- 修改sshd配置文件,路径
/etc/ssh/sshd_config
PasswordAuthentication no|yes ?##开启或关闭ssh的默认认证方式
PermitRootLogin no|yes ? ?##开启或关闭root用户的登陆权限
AllowUsers westos ? ? ?##用户白名单,当前设定是只允许westos登陆
- 配置文件修改完,重启sshd服务
sudo service ssh restart
通过ssh登录
本机登录
- 通过
ssh localhost
命令登录(ssh 默认端口:22)
- 输入yes确认之后进入下一步
- 通过
ssh-kengen
生成秘钥
- 按照提示一路回车即可
- 查看秘钥,默认生成秘钥位置在
~/.ssh
- 然后把id_rsa.pub文件(公钥)复制到
~/.ssh/authorized_keys
文件下
- 查看authorized_keys文件
- 再次通过
ssh localhost
命令登录
其他主机登录
-
查看服务器ip
ifconfig
-
通过ssh 用户名@ip 登录
ssh liouwb@192.168.251.96
-
提示没有权限
-
查看本地是否已经存在秘钥
-
电脑存在秘钥,把公钥信息添加到服务器的,
~/.ssh/authorized_keys
文件中 -
如果没有公钥,通过
ssh-keygen
生成秘钥,再放上去即可 -
通过ssh-copy-id 把公钥安装到服务器的
~/.ssh/authorized_keys
文件中,安装命令:ssh-copy-id -i liouwb@192.168.251.96
-
去服务器查看,公钥是否安装成功
-
公钥已经安装成功,然后通过ssh登录
-
登录成功之后就可以在服务器端进行相应的操作
退出ssh登录
exit
命令退出登录
logout
命令退出登录
关闭ssh服务
- 查看ssh服务
ps -ef |grep ssh
- 关闭ssh服务
sudo service ssh stop
- 验证关闭之后通过ssh登录