sudo apt install openssh-client
sudo apt install openssh-server
service ssh status
sudo service ssh start
sudo service ssh stop
sudo service ssh restart
ssh user@host
其中,user
为远程主机的登录用户名,host
为远程主机 ip 地址。然后终端会显示要求输入远程主机 user
用户登录密码,正确输入密码后进入到远程主机 user
的 $HOME
目录下。
基于密码登录远程主机的原理大致如下:
将本机 ssh-keygen
生成的公匙复制到远程主机上,具体操作如下:
id_rsa
和 id_rsa.pub
,说明未生成 ssh-key :ls ~/.ssh
ssh-keygen -t rsa # 也可以使用更多选项如 -C youremail@example.com 指定用户邮箱
~/.ssh
下的公匙复制到远程主机的 ~/.ssh
文件夹(没有就创建一个)下并命名为 authorized_keys(具体复制操作参加下文):scp ~/.ssh/id_rsa.pub user@host:~/.ssh/authorized_keys
ssh user@host
就可以直接登录远程主机,不再需要输入密码。基于密码登录远程主机的原理大致如下:
【注】远程主机如果 .ssh
文件夹是手动创建的,则需要设置权限 700(chmod 700 ~/.ssh
);如果 authorized_keys 文件是手动创建而不是直接复制本地主机公匙,则需要设置权限 600(chmod 600 ~/.ssh/authorized_keys
),否则免密登录可能失败。
在本地主机终端下,使用 scp
命令:
scp filename user@host:dstpath # 复制文件,filename 为本地文件全局路径,dstpath 为复制到远程主机的目标路径
scp -r dirname user@host:dstpath # 复制文件夹,dirname 为本地文件夹全局路径,dstpath 为复制到远程主机的目标路径
在本地主机终端下,使用 scp
命令:
scp user@host:filename dstpath # 拷贝文件,filename 为远程主机文件全局路径,dstpath 为拷贝到本地主机的目标路径
scp -r user@host:dirname dstpath # 拷贝文件夹,dirname 为远程主机文件夹全局路径,dstpath 为复制到本地主机的目标路径
在登录远程主机终端下使用 Ctrl + D
或者 exit
。